Rails 4浅嵌套UrlGenerationError,缺少必需的键

时间:2015-01-14 04:06:50

标签: ruby-on-rails nested-resources

我第一次尝试使用浅层嵌套资源,并且在我的索引路径上遇到一些麻烦。

的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]

在我index的{​​{1}}行动中,我设置VisitsController如下:

@site

然而,它说我的@site = Site.find(params[:site_id]) 为零,我不确定如何正确设置。

1 个答案:

答案 0 :(得分:1)

您可以将其设置为:

<%= link_to 'Back', site_visits_path(:site_id => @site.id) %>