在rails中更改生成模型的复数forms?
我正在使用此命令:
rails generate model DayOfMonth day:integer
Rails生成模型“DayOfMonth”和表“day_of_months”。
我希望它创建表“days_of_month”而不是。
我知道这与Inflector类和初始化文件夹中的inflector.rb有关。
但我不明白如何让这个工作。
我正在使用Rails 3。
有人可以帮助我或者指点我这个教程吗?
谢谢
您可以只编辑迁移然后添加
Rails 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
ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'day of month', 'days of month' end
阅读: http : //api.rubyonrails.org/classes/ActiveSupport/Inflector.html
你必须说一下初始化器’inflections.rb’中复数forms的’day of day’是什么:
ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'day of month', 'days of month' inflect.irregular 'day_of_month', 'days_of_month' end
这对我有用。 虽然,在定义与该模型的关联时,我仍然会遇到错误:
has_many :days_of_month