Rails - 如何使用 user_ids 限定应用中所有路由的范围
Rails - How to scope all routes in the app with user_ids
我想做 Basecamp 本质上做的事情,让我的 URI 是这样的:
www.example.com/:user_id/
www.example.com/:user_id/projects/12314
您只能访问您 user_id 范围内的内容。
目前我的想法是:
- 将所有其他资源嵌套在
users
下
- 使用范围
scope: ":user_id" do
然后每当我创建路径时只传递 current_user
。
解决此问题的最佳方法是什么?
最好的方法是实现嵌套路由(您正在考虑的那种)来处理上述情况,其中资源将嵌套在父项下。但是您还需要考虑资源的个体存在,无论它们是否在没有用户的情况下存在,因为有时没有用户可以存在很少的路由,因此您还需要在 routes.rb.
中单独定义它们
作为参考:http://guides.rubyonrails.org/routing.html#nested-resources
例如:http://blog.8thcolor.com/en/2011/08/nested-resources-with-independent-views-in-ruby-on-rails/
我想做 Basecamp 本质上做的事情,让我的 URI 是这样的:
www.example.com/:user_id/
www.example.com/:user_id/projects/12314
您只能访问您 user_id 范围内的内容。
目前我的想法是:
- 将所有其他资源嵌套在
users
下
- 使用范围
scope: ":user_id" do
然后每当我创建路径时只传递 current_user
。
解决此问题的最佳方法是什么?
最好的方法是实现嵌套路由(您正在考虑的那种)来处理上述情况,其中资源将嵌套在父项下。但是您还需要考虑资源的个体存在,无论它们是否在没有用户的情况下存在,因为有时没有用户可以存在很少的路由,因此您还需要在 routes.rb.
中单独定义它们作为参考:http://guides.rubyonrails.org/routing.html#nested-resources
例如:http://blog.8thcolor.com/en/2011/08/nested-resources-with-independent-views-in-ruby-on-rails/