2010-07-31 13 views
10

estoy usando este comando:¿Cambiar la forma plural del modelo generado en los rieles?

rails generate model DayOfMonth day:integer 

rieles genera el modelo "DayOfMonth" y la tabla "day_of_months".

Quiero crear la tabla "days_of_month" en su lugar.

Sé que esto tiene algo que ver con la clase Inflector y el inflector.rb en la carpeta de inicializadores.

Pero no entiendo cómo hacer que esto funcione.

estoy usando Rails 3.

Podría alguien me ayude a cabo aquí o me punto a un tutorial para esto?

Gracias

Respuesta

6

Se podía editar la migración y luego añadir

rieles 3.2+/4+

class DayOfMonth < ActiveRecord::Base 
    self.table_name = "days_of_month" 
end 

Rails 3

class DayOfMonth < ActiveRecord::Base 
    set_table_name "days_of_month" 
end 
+4

Esta sintaxis ahora ha cambiado a 'self.table_name = "days_of_month"' – 8bithero

4

que tiene que decir cuál es la forma plural de 'día del mes' en un 'inflections.rb' inicializador:

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.irregular 'day of month', 'days of month' 
    inflect.irregular 'day_of_month', 'days_of_month' 
end 

que trabajó para mí. Aunque sigo recibiendo errores al definir asociaciones para ese modelo:

has_many :days_of_month 
+0

Esto funcionó para mí. Parece que había un error en los rieles que probablemente causaba tu problema, pero ahora está solucionado. https://github.com/arthurnn/rails/commit/c0b6e164ee6bbc7941d280ea629d70d400561668 –

Cuestiones relacionadas