Quel est le meilleur moyen d'ajouter des inflexions dans un plugin Rails?
-
06-07-2019 - |
Question
J'écris un plugin qui a besoin de quelques inflexions. En utilisant les rails 2.3 qui ont les moteurs encastrés, où je devrais placer mes inflexions?
La solution
Je vous conseillerais d'ajouter un fichier séparé (inflections.rb) dans le plugin de votre répertoire plugins. Vous devriez pouvoir charger le fichier inflections.rb à partir du plugin en ajoutant ce qui suit au début du fichier du plugin Ruby.
require 'inflections"
Votre fichier inflections.rb doit respecter le format fourni à titre d'exemple dans les nouveaux projets Rails:
# Sample Inflections
# ActiveSupport::Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
Autres conseils
UPDATE : pour tous ceux qui ont le même problème mais utilisent Rails 5, voici la bonne réponse.
Ne placez pas le fichier inflections.rb
dans le dossier plugin / lib
, mais dans le dossier plugin / config / initializers
.
Ensuite, écrivez simplement vos inflexions (par exemple, cliché / clichés ):
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'cliche', 'cliches'
end