У меня есть объект List с вложенными Задачами. Я создал страницу, которая отображает отдельные задачи, а также страницу, которая позволяет пользователю редактировать отдельные задачи. Теперь я хочу добавить возможность удаления задачи из списка на странице редактирования задач. Используя следующий код
<%= link_to 'Delete this task',@task, confirm: 'Are you sure?', method: :delete %>
выходы
undefined task_path method
Этот код находится на странице show.html.erb, где я вызываю @task для отображения всех данных, хранящихся в задаче, поэтому я считаю, что эта проблема может быть какой-то ошибкой маршрутизации, однако я не могу показаться чтобы понять это.
Связанный метод контроллера:
def destroy
@task = Task.find(params[:id])
@task.destroy
respond_to do |format|
format.html { redirect_to list_tasks_path(@task) }
format.json { head :ok }
end
end
Я думал, что при использовании метода delete, поставленная мною @task будет просто отправлена методу destroy через params, но эта ошибка, похоже, показывает, что это не совсем так, как она работает. Так как же мне правильно уничтожить вложенный ресурс в Rails?
редактирование:
Вот файл маршрута с вложенными ресурсами:
MyApp::Application.routes.draw do
resources :lists do
resources :tasks
end
get "home/index"
root :to => 'home#index'
end
Спасибо за помощь!