Я использую встроенный контроллер для отображения формы, которая используется на нескольких страницах:
Twig
{% render 'Bundle:Controller:someForm' %}
Контроллер
public function someFormAction()
{
// Some logic
...
if ($form->isValid()) {
...
$this->get('session')->setFlash('successful', "Woey!");
return $this->redirect($this->generateUrl('homepage'));
}
return $this->render('Bundle:Template:form.html.twig', array('form' => $form->createView()));
}
Мне нужно перенаправить обратно на домашнюю страницу после того, как форма была успешно отправлена как часть post-redirect-get шаблона проектирования. Если я использую его, как я описал выше, я получу исключение, так как ответ от встроенного контроллера был 302 вместо 200 (по крайней мере, я ожидаю, что он работает так).
Можно ли в таком случае нормально перенаправить? Или я подхожу к ситуации (с формой, отображаемой на нескольких страницах) под совершенно неправильным углом?