【发布时间】:2015-11-17 20:25:44
【问题描述】:
在我的应用中,我有 2 个模型 Foo 和 Bar。 Foo 'has_one' 酒吧和 Bar '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 的一个实例,但随后我收到一个错误,即路径不存在。
谁能帮我看看我做错了什么?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 simple-form simple-form-for