Я удаляю объект из выделенной страницы, используя (сгенерированный с помощью CRUD):
{{ form(delete_form) }}
На индексной странице у меня есть список со всеми записями, и я хочу поместить кнопку удаления для каждого из них, поэтому в этой ветке я попытался поставить:
{{ form(delete_form) }}
и я получаю Variable "delete_form" does not exist in home/.../
{{ path('test_delete', {'id': entity.id}) }}
Где test_delete
- это маршрут имени для моего действия удаления. Это работает просто "см. Весь пост".
Что я делаю неправильно?
Функция формы отображает форму и требует объекта формы. Вы получаете эту ошибку на странице индекса, потому что ваш объект delete_form там недоступен. Он существует только на выделенной странице (действии), где живет эта форма.
Если вы пытаетесь отобразить форму в действии индекса (не знаете, почему, но независимо), вам нужно установить переменную delete_form в вашем контроллере на действие индекса. Symfony сообщает вам, что переменной не существует.
Если вы просто хотите связать действие индекса с действием test_delete, тогда функция пути (как и у вас в вашем сообщении) должна работать.
{{ path('test_delete', {'id': entity.id}) }}
будет выполнять только действие{{ path('test_show', { 'id': entity.id }) }}
открывает страницу теста.