Rails - 如何使用user_ids确定应用程序中所有路径的范围

时间:2015-07-25 16:19:06

标签: ruby-on-rails routes scope uri

我正在寻找Basecamp基本上做的事情,让我的URI如下:

www.example.com/:user_id/ www.example.com/:user_id/projects/12314

您只能访问user_id下的作用域。

到目前为止,我的想法是:

  1. 将所有其他资源嵌套在users
  2. 使用范围scope: ":user_id" do
  3. 然后在我创建路径时只传递current_user

    最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

最佳方法是实现嵌套路由(您正在考虑的那个)来处理上述场景,其中资源将嵌套在父级下。但是你还需要考虑资源的个体存在是否存在而没有用户,因为有时很少有路由可以在没有用户的情况下存在,因此你还需要在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/