首页 文章

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

提问于
浏览
1

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

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]

VisitsControllerindex 动作中,我将 @site 设置如下:

@site = Site.find(params[:site_id])

但是它说我的 :site_id 是零并且我不确定如何正确设置它 .

1 回答

  • 1

    你可以这样设置:

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

相关问题