我在嵌套资源方面遇到了一些问题。我想知道是否有更好的做事方式。
我有一个待办事项列表应用程序,包含三个资源用户,列表和任务。每个用户都有他/她自己的待办事项列表。
我的问题是如何设置关联和路由以防止我在路径文件中嵌套三层深度。
resources :users do
resources :list do
resources :task do
end
end
end
我想阻止它。欢呼声
答案 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