我应该为我的待办事项列表应用程序嵌套列出资源的用户资源吗?

时间:2013-06-05 02:06:23

标签: ruby-on-rails rails-routing

我正在尝试创建一个待办事项列表应用程序(非常原创,我知道:))。我有一个列表资源和一个任务资源。每个列表都有许多任务。这是我的routes.rb:

resources :lists do
  resources :tasks
end
root to: 'lists#index'

现在,我想添加用户管理(每个用户可以拥有自己的列表,登录/注销)。 我应该将列表资源嵌套在用户资源中吗?将来,我希望用户能够查看其他人的公共待办事项列表。那么,我应该这样做:

resources :users do
 resources :lists do
  resources :tasks
 end
end
root to: 'lists#index'

我已经阅读过关于浅层嵌套的地方,但我无法理解它。请告诉我如何继续。

1 个答案:

答案 0 :(得分:0)

这样:

resources :users do
 resources :lists do
  resources :tasks
 end
end

您的路线将是例如:

/users/:user_id/lists/:list_id/tasks/:id

用于显示任务表单,包含帮助器user_list_task_path(@user, @list, @task)

深度叠加多个级别被视为不良做法

您拨打DB的时间超过了要求,路线看起来对用户不友好,并且很难对您的应用进行编码。

退房:article