Qual è il modo migliore per aggiungere inflessioni in un plug-in Rails?
-
06-07-2019 - |
Domanda
Sto scrivendo un plugin che necessita di alcune inflessioni proprie. Usando le rotaie 2.3 che hanno incorporato i motori, dove dovrei posizionare le mie flessioni?
Soluzione
Consiglio di aggiungere un file separato (inflections.rb) nel plugin della directory lib dei plugin. Dovresti essere in grado di caricare il file inflections.rb dal plugin aggiungendo quanto segue all'inizio del file Ruby del plugin.
require 'inflections"
Il tuo file inflections.rb dovrebbe seguire il formato fornito come esempio nei nuovi progetti 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
Altri suggerimenti
AGGIORNAMENTO : per chiunque abbia lo stesso problema ma utilizza Rails 5, ecco la risposta giusta.
Non posizionare il file inflections.rb
nella cartella plugin / lib
, ma nella cartella plugin / config / initializer
.
Quindi scrivi semplicemente le tue flessioni (ad es. cliché / cliché ):
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'cliche', 'cliches'
end