Когда я создаю форму внутри моего действия контроллера следующим образом:
$form = $this->createFormBuilder() ->add('field_name') ->getForm(); return array( 'form' => $form );
… и я пытаюсь отобразить эту форму в шаблоне ветки:
<form action="{{ path('...') }}" method="post"> {{ form_widget(form.field_name) }} </form>
… вызов form_widget
вызывает следующее исключение / ошибку:
Исключение было сделано во время рендеринга шаблона («Catchable Fatal Error: Argument 1, переданный Symfony \ Component \ Form \ FormRenderer :: searchAndRenderBlock () должен быть экземпляром Symfony \ Component \ Form \ FormView, экземпляр Symfony \ Компонент \ Форма \ Форма задана, вызвана …
- Как перезагрузить тайник в symfony2
- Symfony2 + Twig, переменная в переводе возвращает «Сообщение должно быть простым текстом»
- Symfony2: Как правильно включить активы в сочетании с наследованием шаблона Twig?
- ветка для построения ветвей в петле
- Измените шаблон с помощью параметра при рендеринге действия контроллера?
Как я могу решить эту проблему?
Вы должны передать экземпляр Symfony\Component\Form\FormView
вместо Symfony\Component\Form\Form
к вашему представлению.
Исправьте это, используя …
... ->getForm()->createView();
FormBuilder::getForm
создает объект Form … Form::createView
затем создает объект FormView .
В вашем контроллере:
return array( 'form' => $form->createView() );
Но если вы хотите отправить его в представление, это стандартный пример:
return $this->render('@App/public/index.html.twig', array( 'form'=>$form->createView() ));