我想知道在 Rails 路由中实现以下功能的最佳方法是什么:
场景:用户注册账号=> accountID(账号)的网站成为网站内的主要实体。
示例:https://basecamp.com/:ID/ - 将授权用户带到 Basecamp 仪表板。从这里开始,所有 URL 都包含 :accountID,如 https://basecamp.com/:ID/projects - 列出账户下的所有项目。
提前谢谢了!
最佳答案
使用 路由前缀 :
scope ":account_id" do
resources :projects
...
end
这将始终在范围内定义的每个资源 Controller 上为您提供 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
关于ruby-on-rails - Ruby on Rails - 向所有路由添加 ID 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14867314/