我想知道在Rails路由中实现以下功能的最佳方法是什么:
场景:用户注册帐户的网站=> accountID(帐户)成为网站内的主要实体。
示例:https://basecamp.com/:ID/ - 将授权用户带到Basecamp仪表板。在此处,所有网址都包含:https://basecamp.com/:ID/projects中的:accountID - 列出该帐户下的所有项目。
非常感谢提前!
答案 0 :(得分:3)
使用路由前缀:
scope ":account_id" do
resources :projects
...
end
这将始终在范围内定义的每个资源控制器上为您提供params [:account_id]。
在此处阅读更多内容:http://guides.rubyonrails.org/routing.html#prefixing-the-named-route-helpers
更新:以下是包含“信息中心”默认路线的完整示例
scope ":account_id" do
root :to => "dashboard#index" # http://example.com/12323/
resources :projects # http://example.com/12323/projects
resources :todos # http://example.com/12323/todos
...
end