嵌套路由替代方案

时间:2013-07-21 15:21:15

标签: ruby-on-rails routes nested

我在嵌套资源方面遇到了一些问题。我想知道是否有更好的做事方式。

我有一个待办事项列表应用程序,包含三个资源用户,列表和任务。每个用户都有他/她自己的待办事项列表。

我的问题是如何设置关联和路由以防止我在路径文件中嵌套三层深度。

resources :users do
 resources :list do
  resources :task do
  end
 end
end

我想阻止它。欢呼声

2 个答案:

答案 0 :(得分:1)

可能重复: Rails 3 level deep nested resources

尝试使用:浅选项:

resources :users, shallow: true do 
  resources :lists, shallow: true do
    resources :task
  end
end

答案 1 :(得分:1)

由于用户只能看到自己的列表和任务,因此您不必嵌套这些资源。在路线文件中单独定义它们:

resources :users

resources :lists do
  resources :tasks
end

从身份验证框架中检索当前用户:

class ListsController < ApplicationController

  def index
    @lists = current_user.lists
  end

end