Ruby on Rails - 为所有路由添加ID参数

时间:2013-02-14 03:26:54

标签: ruby-on-rails routing

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

场景:用户注册帐户的网站=> accountID(帐户)成为网站内的主要实体。

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

非常感谢提前!

1 个答案:

答案 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