4

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

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

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

提前谢谢了!

4

1 回答 1

7

使用路由前缀

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
于 2013-02-14T03:54:39.410 回答