我想知道在 Rails 路由中实现以下功能的最佳方法是什么:
场景:用户注册账号的网站=>accountID(账号)成为网站内的主要实体。
示例:https ://basecamp.com/:ID/ - 将授权用户带到 Basecamp 仪表板。从这里所有的 URL 都包含 :accountID,如https://basecamp.com/:ID/projects - 列出该帐户下的所有项目。
提前谢谢了!
我想知道在 Rails 路由中实现以下功能的最佳方法是什么:
场景:用户注册账号的网站=>accountID(账号)成为网站内的主要实体。
示例:https ://basecamp.com/:ID/ - 将授权用户带到 Basecamp 仪表板。从这里所有的 URL 都包含 :accountID,如https://basecamp.com/:ID/projects - 列出该帐户下的所有项目。
提前谢谢了!
使用路由前缀:
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