У меня есть список записей из базы данных. Я хотел бы иметь кнопку «Удалить» в конце каждой строки, чтобы пользователю не приходилось сначала переходить на страницу редактирования / отображения, чтобы удалить запись.
Я попытался создать скрытое поле ввода с токеном csrf следующим образом:
return $this->createFormBuilder()
->getForm()
;
это выведет:
<div id="form">
<input type="hidden" id="form__token" name="form[_token]" value="6c98ebfa9df07.....">
</div>
Остальную часть формы я поместил в шаблон веточки, чтобы каждая форма имела свой собственный путь действия в соответствии с идентификатором записи.
к сожалению в шаблоне веточки только первый
{{ form_widget(delete_form) }}
будет отображаться.
Как я могу чаще использовать это скрытое поле? ИЛИ есть ли способ сделать все по-другому?
Спасибо за любую помощь
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$deleteForm = $this->createDeleteForms();
$entities = $em->getRepository('IntranetServicesBundle:Laender')->findAll();
return $this->render('IntranetServicesBundle:Laender:index.html.twig', array(
'entities' => $entities,
'delete_form' => $deleteForm->createView(),
));
}
private function createDeleteForms()
{
return $this->createFormBuilder()
->add('id', 'hidden')
->getForm()
;
}
object/delete/{id}
и заставить его перейти к действию удаления вашего контроллера? Затем вам просто нужно добавить<a>
ссылку с этим маршрутом, и все будет хорошо. Или вы хотите чего-то более изощренного? - person cheesemacfly   schedule 19.04.2013