【发布时间】:2014-12-12 17:27:13
【问题描述】:
我试图弄清楚如何在 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)
【问题讨论】:
-
你喜欢这些路线吗? /accounts/buyer/contracts/:id/stuff
-
@Saravanan 我修改了问题。看看是否有帮助。问题是一旦它进入一个命名空间,它似乎失去了它的上下文,并且不再知道它看起来的嵌套资源。
标签: ruby-on-rails ruby-on-rails-4 rails-routing nested-resources