af83

Mongoid tips

Ce billet présente quelques astuces sur l'utilisation de mongoid et mongoid_translate.

Les traductions dans mongoid_translate sont des documents « embedded ».

Pour chercher un document avec une traduction :

Tag.where(:'translations.name' => 'Content',
  :'translations.language' => :fr).one

Pour trouver un tag à partir de sa traduction, ou en initialiser un nouveau s'il n'existe pas encore :

t = Tag.find_or_initialize_by(:'translations.name' => content)

On peut ensuite créer la traduction comme ceci :

t.translations.new(language: :fr, name: content)
t.save

Voilà, ça permet aussi de parler du projet « mongoid_translate », une gem développée par af83 pour gérer de la traduction de contenus avec mongoid.

blog comments powered by Disqus