在我的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?
中的任务?感谢您的帮助!
答案 0 :(得分:6)
您正在使用Nested Resources正确的方式在表单中指定父级。
<%= form_for [@list, @task] do |f| %>
<%= f.label :title %><br />
<% end %>