2

Rails新手在这里,我很难过。在 Rails 中,我有一个包含多个任务的项目模型。假设我有一个显示 5 个项目的视图,每个项目都有一个“新任务”链接,以便用户可以向任何一个项目添加新任务。所以:

项目 1
新任务

项目 2
新任务等

如果新任务链接看起来像

link_to '新任务', new_task_path

告诉任务控制器上的“新”操作单击哪个链接的最佳方法是什么?我想我必须将 project_id 传递给新任务,但我无法解决如何去做。

一如既往的帮助!

4

1 回答 1

7

取决于您的路线是如何定义的,但是如果将任务定义为项目的子资源(如下所示),那么它非常简单。

resources :projects do
  resources :tasks
end

这将生成如下路线:

new_project_task GET    /projects/:project_id/tasks/new(.:format)                         {:controller=>"tasks", :action=>"new"}

然后您可以通过以下方式链接到它:

link_to 'New Task', new_project_task_path(@project)
于 2011-03-20T00:49:12.553 回答