2

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

<%= render 'form' %>

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

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

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

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

resources :lists do
    resources :tasks
end

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

感谢您的帮助!

4

1 回答 1

6

您正在使用嵌套资源,在表单中使用它的正确方法是指定父级。

<%= form_for [@list, @task] do |f| %>
  <%= f.label :title %><br />
<% end %>
于 2011-12-11T02:51:29.183 回答