Reputation: 4990
I get the error :
Call to undefined method Symfony\Component\Form\FormBuilder::createView()
For the following code
public function searchAction(Request $request, $type) {
$filters = new Filters();
$form = $this->createFormBuilder($filters)
->setAction($this->generateUrl('project_search'))
->add('name', 'text');
if($type == 'extra') {
$form->add('job', 'text');
}
$form->add('send', 'submit', array('label' => "Envoyer"))
->getForm();
return $this->render('Bundle:Controller:search.html.twig', array(
'form' => $form->createView(),
));
}
I believe it is because I add a new input $form->add('job', 'text');
. How can I fix this ?
Upvotes: 2
Views: 5522
Reputation: 44376
You need to reference to Form
instance, not FormBuilder
. You're already using getForm()
method which returns needed reference, but you're not assiging it anywhere.
$filters = new Filters();
$formBuilder = $this->createFormBuilder($filters)
->setAction($this->generateUrl('project_search'))
->add('name', 'text');
if($type == 'extra') {
$formBuilder->add('job', 'text');
}
$formBuilder->add('send', 'submit', array('label' => "Envoyer"));
$form = $formBuilder->getForm();
return $this->render('Bundle:Controller:search.html.twig', array(
'form' => $form->createView(),
));
Upvotes: 7