Ruby on rails 避免在轨道中进行深度布线,但在需要时仍然嵌套

Ruby on rails 避免在轨道中进行深度布线,但在需要时仍然嵌套,ruby-on-rails,ruby-on-rails-4,rails-routing,Ruby On Rails,Ruby On Rails 4,Rails Routing,我一直在深入挖掘我的资源,现在发现这应该避免。浅嵌套似乎是答案,但我正在努力正确地纠正第二级深嵌套。让我向您展示我的routes文件,因为我认为这样会更清楚(我使用的是Rails 4): 旧的: 迄今新的: resources :members, shallow: true do resources :emails resources :events end 我的问题是我不知道现在把:项放在哪里?我认为它应该嵌套在:events下,用于:index、:new和:create操作 我错过

我一直在深入挖掘我的资源,现在发现这应该避免。浅嵌套似乎是答案,但我正在努力正确地纠正第二级深嵌套。让我向您展示我的routes文件,因为我认为这样会更清楚(我使用的是Rails 4):

旧的:

迄今新的:

resources :members, shallow: true do
  resources :emails
  resources :events
end
我的问题是我不知道现在把:项放在哪里?我认为它应该嵌套在:events下,用于:index、:new和:create操作

我错过了什么,我肯定这是一些愚蠢的事情,我只是还没有得到,请原谅我的无知,我想你提前为任何帮助


标记

您只需按以下方式更新路线:

  resources :members, shallow: true do
    resources :emails
    resources :events, shallow: true do
      resources :items
    end
  end

这将为
项目创建浅路由。仅对于
:index
:new
:create
操作,您将获得以
/events/:event\u id
为前缀的嵌套路由。谢谢您的帮助!这非常有效。我错误地认为,到目前为止,它仍然会回过头来看议员们。再次感谢你的帮助!
  resources :members, shallow: true do
    resources :emails
    resources :events, shallow: true do
      resources :items
    end
  end