在我的应用程序中,我有 2 个模型 Foo 和 Bar。Foo 'has_one' 酒吧和酒吧 'belongs_to' Foo。
我的路由文件如下所示:
namespace :baz do
resources :foo do
resources :bar
end
end
我正在使用simple_form gem。因此,对于像上面提到的那样的嵌套路由,我希望以下工作:
= simple_form_for [:baz , :foo, @bar] do |f|
当创建一个新的@bar 时,这条线工作得很好。当我尝试编辑现有的@bar 时,它会失败并显示以下错误消息:
No route matches {:action=>"show", :controller=>"baz/bar", :id=>nil, ...
我做了一些研究,似乎它与我的“form_for”参数有关。我尝试将标签更改为:
= simple_form_for [:baz , @foo, @bar] do |f|
...并且我确保在我的控制器中调用 @foo 的一个实例,但随后我收到一个错误,即路径不存在。
有人可以帮我看看我做错了什么吗?