如何设置此条件路线

时间:2020-01-22 09:32:10

标签: ruby-on-rails routes

所以我有一些可以通过经典路线访问的文档

/documents/6

其中6是文档的:id

但是,同一文档也可以归为一个或多个组

但是,当我尝试通过groups/3(其中3是id)下的组资源访问文件时,单击文件时的url仍然是

/documents/6

我希望它像

groups/3/documents/6

但仅当我从该组中访问文档时...

如何设置条件路由以使嵌套路由起作用?

1 个答案:

答案 0 :(得分:1)

要为同一文档使用两个路由,可以声明两次路由:

resources :documents
resources :groups do
  resources :documents
end

这些将路由到同一控制器,但是当使用具有组的控制器时-将有附加的group_id参数。

要创建这些网址,请使用辅助程序,如:

group_document_path(group_id:1, id:123) # => /groups/1/documents/123