ruby on rails - ¿Cómo anulo las convenciones de nombres de los rieles?
ruby-on-rails naming-conventions (4)
Agregue esto en su archivo environment.rb
si está tratando de detener la pluralización de la base de datos
ActiveRecord::Base.pluralize_table_names = false
Tengo un modelo llamado "ropa" que quiero ser el único (una pieza de ropa). Por defecto, los rieles dicen que el plural es vestimenta. Correcto o incorrecto, creo que será más legible si el plural es "ropa".
¿Cómo anulo la convención de nomenclatura en plural? ¿Puedo hacerlo bien en el modelo, así que no tengo que hacerlo una y otra vez? ¿Cómo cambiará esto la forma en que se manejan las rutas (estoy usando una arquitectura relajada)?
Con Ruby 2.2.2 windows o linux para mí, la mejor solución fue:
ActiveRecord::Base.pluralize_table_names = false
class Persona < ActiveRecord::Base
end
personas = Persona.all
personas.each do | personita |
print "#{personita.idpersona} #{personita.nombre}/n"
end
p Persona.count
Para los rieles 2.3.2 y tal vez 2+, necesitas hacerlo un poco diferente:
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural /^(ox)$/i, ''/1/2en''
inflect.singular /^(ox)en/i, ''/1''
inflect.irregular ''octopus'', ''octopi''
inflect.uncountable "equipment"
end
No soy un experto en RoR, pero encontré un posible enfoque . Desde el sitio al que se hace referencia, puede agregar una regla de inflexión dentro del archivo config/initializers/inflections.rb
:
# Add new inflection rules using the following format
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular ''clothing'', ''clothes''
end