Ruby on Rails form_for导致路径错误

Mik*_*uto 2 ruby ruby-on-rails form-for nested-resources

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

<%= render 'form' %>
Run Code Online (Sandbox Code Playgroud)

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

<%= form_for @task do |f| %>
    <%= fl.label :title %><br />
<% end %>
Run Code Online (Sandbox Code Playgroud)

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

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

resources :lists do
    resources :tasks
end
Run Code Online (Sandbox Code Playgroud)

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

谢谢您的帮助!

JCo*_*era 6

您正在使用嵌套资源以正确的方式在表单中指定父级.

<%= form_for [@list, @task] do |f| %>
  <%= f.label :title %><br />
<% end %>
Run Code Online (Sandbox Code Playgroud)