在我的Ruby on Rails代码中,我有以下edit.html.erb文件用于任务:
<%= render 'form' %>
然后在同一目录下有一个_form模板,代码如下:
<%= form_for @task do |f| %>
<%= fl.label :title %><br />
<% end %>
问题是,我得到一个错误时,试图导航到编辑页面。错误显示"未定义的任务路径",所以从我可以告诉Rails没有正确识别我的任务路径。
程序的结构方式是,我有一个包含许多任务的列表,每个任务都有一个列表。routes文件是这样声明这个结构的:
resources :lists do
resources :tasks
end
我如何得到form_for来识别我试图在/lists/:list_id/tasks/:task_id/edit编辑任务?
谢谢你的帮助!
您正在使用嵌套资源,在表单中使用嵌套资源的正确方法是指定父类。
<%= form_for [@list, @task] do |f| %>
<%= f.label :title %><br />
<% end %>