Symfony 2.8 表单生成器不工作

Symfony 2.8 Form Builder isn't working

我一直在控制器中制作许多 Symfony 表单,这对我来说更容易一些。但最近我在 Symfony 2.8 中创建了一个项目,显然是 2.8.34 版本。然而,当我使用通常的表单生成器时,它给了我以下错误。

Attempted to call an undefined method named "createView" of class "Symfony\Component\Form\FormBuilder".

这就是我犯上述错误的根源。

public function testAction(Request $request) {
    $form = $this->createFormBuilder()
            ->add('name', 'text', array('required' => true))
            ->add('phone', 'text', array('required' => true));

    return $this->render('AppBundle:Home:test.html.twig', array('form' => $form->createView()));

}

我的项目没有任何实体,因为它只通过 API.

发送捕获的数据

我做错了什么?此代码在 Symfony 2.8 其他项目中有效,但这似乎不再适用于我。

您只需要从生成器中获取表单:

$form = $this->createFormBuilder()
        ->add('name', 'text', array('required' => true))
        ->add('phone', 'text', array('required' => true))
        ->getForm();

实际上 createViewSymfony\Component\Form\Form 的方法,而在您的示例中 $formSymfony\Component\Form\FormBuilder.

的实例