好的,所以我正在构建这个rails应用程序。我需要餐馆和菜肴之间的关系。
所以餐馆has_many:菜肴和菜属于餐馆问题是该模型被称为菜,所以它被称为:菜..这是重要的还是名称需要(model_name)+ s所以菜或者这是完全的无关紧要,这种关系在我的控制器中就像我在想的那样......
答案 0 :(得分:1)
Rails有许多内置的复数和规则。菜以sh结尾,所以复数就是菜肴,这就是你应该使用的。
如果启动rails控制台,则可以使用以下命令检查:
'Dish'.pluralize#=>'菜肴'
如果没有得到预期的结果,你可以在config / initializers / inflections.rb中定义你自己的复数形式(编辑文件时应该有例子)
答案 1 :(得分:1)
即使复数不起作用,您也可以手动指定它:
has_many :dishes, :class_name => 'Dish'
或者你可以给这个协会一个完全不同的名字:
has_many :recipients, :class_name => 'User'
答案 2 :(得分:0)
是的,Rails可能会正确地将dish
的复数形式改为dishes
:
require 'active_support/all'
"dish".pluralize
# => "dishes"