在我的 Ruby on Rails 代码中,我有以下用于任务的 edit.html.erb 文件:
<%= render 'form' %>
然后我在同一目录中有一个 _form 模板,代码如下:
<%= form_for @task do |f| %>
<%= fl.label :title %><br />
<% end %>
问题是我在尝试导航到编辑页面时遇到错误。错误显示“undefined task_path”,所以据我所知,Rails 没有正确识别我的任务路径。
程序的结构方式是我有一个包含很多任务的列表,每个任务都有一个列表。路由文件以这种方式声明结构:
resources :lists do
resources :tasks
end
如何让 form_for 识别我正在尝试编辑位于/lists/:list_id/tasks/:task_id/edit 的任务?
感谢您的帮助!
最佳答案
您正在使用 Nested Resources在表单中使用它的正确方法是指定父级。
<%= form_for [@list, @task] do |f| %>
<%= f.label :title %><br />
<% end %>
关于ruby-on-rails - Ruby on Rails form_for 导致路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461600/