Ruby on Rails-将ID参数添加到所有路线

M.S*_*.S. 3 routing ruby-on-rails

我想知道在Rails路由中实现以下功能的最佳方法是什么:

方案:用户在其中注册帐户的网站=> accountID(帐户)成为该网站内的主要实体。

示例:https : //basecamp.com/ : ID/ -将授权用户带到Basecamp仪表板。从此处所有URL都包含:accountID,如https://basecamp.com/:ID/projects中所示 -列出该帐户下的所有项目。

提前谢谢了!

Car*_*ing 5

使用路由前缀

scope ":account_id" do
  resources :projects
  ...
end
Run Code Online (Sandbox Code Playgroud)

这将始终为您在范围内定义的每个资源控制器上提供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
Run Code Online (Sandbox Code Playgroud)