Rails 4 个浅嵌套 UrlGenerationError,缺少必需的键
Rails 4 shallow nesting UrlGenerationError, missing required keys
我第一次尝试浅层嵌套资源,但在使用我的索引路由时遇到了一些麻烦。
routes.rb
resources :sites, shallow: true do
resources :visits
end
我得到的错误是在 visits#show
页面的后退按钮中:
<%= link_to 'Back', site_visits_path(@site) %>
No route matches {:action=>"index", :controller=>"visits", :site_id=>nil} missing required keys: [:site_id]
在我的VisitsController
的index
动作中我设置@site
如下:
@site = Site.find(params[:site_id])
但是它说我的 :site_id
是零,我不确定如何正确设置它。
您可以这样设置:
<%= link_to 'Back', site_visits_path(:site_id => @site.id) %>
我第一次尝试浅层嵌套资源,但在使用我的索引路由时遇到了一些麻烦。
routes.rb
resources :sites, shallow: true do
resources :visits
end
我得到的错误是在 visits#show
页面的后退按钮中:
<%= link_to 'Back', site_visits_path(@site) %>
No route matches {:action=>"index", :controller=>"visits", :site_id=>nil} missing required keys: [:site_id]
在我的VisitsController
的index
动作中我设置@site
如下:
@site = Site.find(params[:site_id])
但是它说我的 :site_id
是零,我不确定如何正确设置它。
您可以这样设置:
<%= link_to 'Back', site_visits_path(:site_id => @site.id) %>