Ruby on Rails form_for вызывает ошибку пути - PullRequest
2 голосов
/ 11 декабря 2011

В моем коде 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?

Спасибо за вашу помощь!

1 Ответ

6 голосов
/ 11 декабря 2011

Вы используете Вложенные ресурсы правильный способ использовать это в форме - указать родителя.

<%= form_for [@list, @task] do |f| %>
  <%= f.label :title %><br />
<% end %>
...