我正在使用Stadium
创建一个名为rails g model Stadium
的模型,但是rails将表名转换为stadia
。
我已在迁移中将表名手动更改为stadium
,并在模型类中添加了set_table_name "stadium"
。但是我所有的路线都在寻找stadia_path
。
我尝试rails g model Stadium --force-plural
失败。
我想我应该为此使用一个变形,但是我不知道如何创建这种变形。体育场是单数的,我仍然需要此模型的复数体育场。
最佳答案
字典中说“体育场”和“体育场”都是正确的(假设单词是拉丁文,“体育场”作为以-um结尾的中性词的复数形式似乎是合法的)。
只需将其添加到config / initializers / inflections.rb:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'stadium', 'stadiums'
end
您可以在此处设置各种不规则复数。
破坏你的老一辈
rails d model Stadium
并再次生成它
rails g model Stadium
您将看到它如何神奇地创建如下文件:
db/migrate/20130330130335_create_stadiums.rb
然后运行迁移,一切就绪!