我在嵌套资源时遇到了一些问题。我想知道是否有更好的做事方式。
我有一个包含三个资源用户、列表和任务的待办事项列表应用程序。每个用户都有他/她自己的待办事项列表。
我的问题是我还能如何设置关联和路由以防止我在路由文件中嵌套三层。
resources :users do
resources :list do
resources :task do
end
end
end
我想阻止这种情况。干杯
我在嵌套资源时遇到了一些问题。我想知道是否有更好的做事方式。
我有一个包含三个资源用户、列表和任务的待办事项列表应用程序。每个用户都有他/她自己的待办事项列表。
我的问题是我还能如何设置关联和路由以防止我在路由文件中嵌套三层。
resources :users do
resources :list do
resources :task do
end
end
end
我想阻止这种情况。干杯
可能重复: Rails 3 级深层嵌套资源
尝试使用 :shallow 选项:
resources :users, shallow: true do
resources :lists, shallow: true do
resources :task
end
end
由于用户只能看到她/他自己的列表和任务,因此您不必嵌套这些资源。在你的路由文件中分别定义它们:
resources :users
resources :lists do
resources :tasks
end
并从您的身份验证框架中检索当前用户:
class ListsController < ApplicationController
def index
@lists = current_user.lists
end
end