我试图弄清楚如何在Rails 4应用程序中进行一些路由。这是我的第一个问题,所以我会尽我所能。
我有帐户。用户可以属于多个帐户。 一个帐户可以有多个"模块"已启用 - 买方/卖方。
resources :accounts do
member do
namespace :seller do
resources :contracts do
get "history", on: :member
end
end
namespace :buyer do
resources :contracts do
get "history", on: :member
end
end
end
end
理想情况下,帐户和合同(在每个命名空间中)将保持足够的资源。
问题在于,当您看到创建的路由时,嵌套合同资源和帐户都在参数中使用:id
stuff_buyer_contract GET /accounts/:id/buyer/contracts/:id/stuff(.:format)
我认为我会得到一堆"浅路线"答案,但无论如何都要这样做,:id
参数是正确的吗?
我希望路由看起来像:
stuff_buyer_contract GET /accounts/:account_id/buyer/contracts/:id/stuff(.:format)
答案 0 :(得分:1)
尝试以下路线配置:
resources :accounts do
namespace :seller do
resources :contracts do
get "history", on: :member
end
end
namespace :buyer do
resources :contracts do
get "history", on: :member
end
end
end