我正在使用此命令:
rails generate model DayOfMonth day:integer
Rails生成了模型“DayOfMonth”和表“day_of_months”。
我希望它改为创建表“days_of_month”。
我知道这与Inflector类和初始化文件夹中的inflector.rb有关。
但我不明白如何让它发挥作用。
我正在使用Rails 3。
有人可以帮我解决这个问题,还是指点教程?
由于
答案 0 :(得分:15)
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'day of month', 'days of month'
end
阅读:http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html
答案 1 :(得分:6)
您可以编辑迁移,然后添加
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
答案 2 :(得分:5)
你必须说一下初始化程序'inflections.rb'中复数形式的'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