Ruby on Rails form_for导致路径错误

时间:2011-12-11 02:44:57

标签: ruby-on-rails ruby form-for nested-resources

在我的Ruby on Rails代码中,我有以下edit.html.erb文件用于任务:

<%= render 'form' %>

然后我在同一目录中有一个_form模板,代码如下:

<%= form_for @task do |f| %>
    <%= fl.label :title %><br />
<% end %>

问题是我在尝试导航到编辑页面时遇到错误。错误说“未定义的task_path”,所以我可以告诉Rails没有正确识别我的任务的路径。

程序的结构方式是我有一个包含许多任务的List,每个任务都有一个列表。 routes文件以这种方式声明结构:

resources :lists do
    resources :tasks
end

如何让form_for识别我正在尝试编辑/ lists /:list_id / tasks /:task_id / edit?

中的任务?

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

您正在使用Nested Resources正确的方式在表单中指定父级。

<%= form_for [@list, @task] do |f| %>
  <%= f.label :title %><br />
<% end %>