我应该在连接表上使用嵌套路由吗?

时间:2014-01-02 21:54:54

标签: ruby-on-rails-4

初学者问题抱歉。我在测试应用程序中有3个表,“交易”,“投资者”和“机会”。机会就是加入。

机会belongs_to交易和投资者,而交易和投资者都有很多机会。

我希望能够在交易或投资者范围内查看所有机会,同时列出申请中的所有机会。如何为此设置路线?像下面的东西?

  resources :deals do
    resources :opportunities
  end 
  resources :investors do
    resources :opportunities
  end
  resources :opportunities

1 个答案:

答案 0 :(得分:2)

如果您想在自己的页面上显示机会,使用与正常机会页面相同的行为(因为它们可能由相同的控制器/视图处理),这将是有意义的。在这种情况下,嵌套的:opportunities可能是只读的(机会将通过其顶级路由更新),因此您可能希望resources :opportunities, only: :index

但是,根据我的经验,像opportunities这样的嵌套资源更有可能直接显示在特定交易或投资者的页面上。在这种情况下,您根本不需要那些嵌套的resource :opportunities路由。您只需在DealsController的@deal操作上加载show,并在展示页面模板中使用@deal.opportunities来打印商机。