ruby-on-rails naming-conventions pluralize

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