嵌套资源轨道的别名

时间:2019-06-03 03:47:26

标签: ruby-on-rails ruby routes nested-routes

我有batch_class模型,在该文章下,有分配资源。 route.rb看起来像这样。

resources :batch_classes do
  member do 
    resources :articles, except: [:index] 
    resources :assignments
 end

结束

问题是我没有获得所需的URL路由。 我用于编辑rake routes的{​​{1}}显示了这一点。

assignments

,别名为edit_assignment_path。但是,我的预期路线是

/batch_classes/:id/assignments/:id/edit(.:format)

请帮助。

2 个答案:

答案 0 :(得分:2)

只需将嵌套资源放在父资源中即可拥有嵌套路由。

resources :batch_classes do
  resources :assignments
end

然后,您肯定会有一条名为edit_batch_class_assignment_path的路线,并且 您可以将实例传递为edit_batch_class_assignment_path(@batch_class, @assignment)

答案 1 :(得分:1)

可以通过将resources :assignments从成员块中移出来实现所需的路径路由。

resources :batch_classes do
  resources :assignments
  member do 
    #...
  end
end

强烈建议您仔细阅读this文档,以确保正确实施。

相关问题