que - Ruby on Rails: ¿cómo defines explícitamente nombres en plural y singulares en Rails?
ruby on rails tutorial (3)
Por ejemplo, estoy usando "Bonus" como mi modelo, por lo que esperaría que "bonus" fuera la forma plural y "bonus" fuera la forma singular.
Sin embargo, en Ruby, esto da como resultado:
"bonus".pluralize # bonus
"bonuses".singularize # bonuse
Entonces, cuando hago un "has_many: bonuses", por ejemplo, no usa el modelo Bonus.rb (ya que Ruby espera un modelo Bonuse.rb en su lugar). ¿Hay alguna manera de corregir eso en Ruby on Rails de alguna manera tal que los "bonos" actúen como la forma plural del bonus.rb modelo?
Creo que usas el Inflector en tu entorno.rb (la memoria es un poco incompleta) Si recuerdo correctamente lo pones en un bloque
Inflector.inflections { | i | i.irregular ''bonus'', ''bonuses'' }
En config / initializers, encontrará un archivo llamado inflections.rb. Aquí hay algunas instrucciones, pero querrás algo como:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular ''bonus'', ''bonuses''
end
Solo para realizar una copia de seguridad de bcarlso, puede encontrar más información sobre Inflector aquí:
http://4loc.wordpress.com/2009/04/09/inflector-rails-pluralization/
Tenga en cuenta que la posición del bloque Inflector.inflections es importante y, como se indica en la referencia del enlace, debe ser posterior al bloque Initializer.run.