Как удалить сущность из шаблона со списком сущностей (CRUD)?
Я сгенерировал CRUD объекта, получив следующие действия по умолчанию:
indexAction (): перечисляет все сущности.showAction ($ ID): находит (по идентификатору) и отображает сущность.DeleteAction ($ ID): удаляет объектдругие действия.Итак, я видел, что могу удалить сущность только внутри действий, которые используют параметр $ id (например, showAction ($ id)), ноЯ хочу удалить объект внутри шаблона indexAction, потому что я сохраняю шаг для пользователей.
Для операции deleteAction требуется запрос, идентификатор и метод POST.
Я пытался закодировать что-то вроде:
<a href="{{ path('entity_delete', { 'id': entity.id }) }}" class="btn">
<img src="{{ asset('bundles/acme/images/delete.png') }}" ...="">
</a>
Когда я выполняю действие, я получаю следующую ошибку:
Маршрут не найден дляGET / acme / что-то / 4 / удалить ": Метод не разрешен (разрешено: POST, DELETE)
Этот ответ ясен иЭто то, что я ожидал, поэтому я попытался сделать что-то подобное, но с помощью формы. Что-то вроде этого:
{{ form_widget(delete_form) }}
<a href="{{ url('entity_delete') }}" class="btn" onclick="document.getElementById('formDelete').submit();">
<img src="{{ asset('bundles/acme/images/delete.png') }}" ...="">
</a>
Но линия{{ form_widget(delete_form) }}
это проблема, потому чтоindexAction()
hasn»t получил любой параметр и ему нужен этот код:
$deleteForm = $this->createDeleteForm($id);
return $this->render('AcmeBundle:Demo:index.html.twig', array(
'entities' => $entities,
'delete_form' => $deleteForm->createView(),
));
Как видите, параметр $ id обязателен для методаcreateDeleteForm($id)
Но я могу'получить это от.indexAction()
Как лучше всего решить эту проблему?