Rails新手在这里,我很难过。在Rails中,我有一个具有多任务的项目模型。假设我有一个显示5个项目的视图,每个项目都有一个“新任务”链接,以便用户可以向任何一个项目添加新任务。所以:
项目1
新任务
项目2
新任务
等
如果新任务链接看起来像
link_to'New Task',new_task_path
告诉任务控制器点击链接的“新”操作的最佳方法是什么?我想我必须将project_id传递给新任务,但我无法解决如何做到这一点。
一如既往的帮助!
答案 0 :(得分: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)