Symfony Type错误:函数FormRenderer :: renderBlock()的参数太少

and*_*aem 2 forms symfony

我有一个必须处理Symfony 3.3中的帮助台请求的表单,我将使用twig渲染它.

调节器

/**
 * @Route("/helpdesk/apri_ticket", name="helpdesk_apri")
 */
public function helpdeskNewAction(Request $request) {

    $entity = new HelpDesk();

    $form = $this->createFormBuilder($entity)
        ->add('title',TextType::class,array(
            'label' => 'Titolo',
            'attr' => array('class' => 'form-control')
        ))
        ->add('type',ChoiceType::class, array(
            'choices' => array(
                'Scegli...' => '0',
                'Assistenza' => '1',
                'Problema' => '2',
                'Errore' => '3'
            )
        ))
        ->add('message', TextType::class, array(
            'label' => 'Messaggio',
            'attr' => array('class' => 'form-control')
        ))
        ->add('submit',SubmitType::class, array(
            'label' => 'Apri Ticket',
            'attr' => array('class' => 'btn-success')
        ))
        ->getForm();

    $form->handleRequest($request);

    if($form->isSubmitted() && $form->isValid()) {
        print 'ok';
    }

    return $this->render('help/help.create.html.twig', array(
        'form' => $form->createView())
    );
}
Run Code Online (Sandbox Code Playgroud)

这是简单的树枝模板:

{{ form_start(form) }}
    {{ form_widget(form.title) }}
    {{ form_widget(form.type) }}
    {{ form_widget(form.message) }}
{{ form_end() }}
Run Code Online (Sandbox Code Playgroud)

这是错误:

Type error: Too few arguments to function Symfony\Component\Form\FormRenderer::renderBlock(), 0 passed in /vendor/twig/twig/lib/Twig/Environment.php(462) : eval()'d code on line 83 and at least 2 expected
Run Code Online (Sandbox Code Playgroud)

这有什么问题?FormRenderer :: renderBlock要求至少2个参数,FormView和BlockName以及可选的包含变量的数组.这是我第一次收到此错误,我不知道这个BlockName是什么.

Mic*_*ł G 7

错误来自缓存文件,因此在第一步中,您应该删除/ var/cache /中的所有文件/目录.

手动(不是通过控制台)

表格结尾应为:

{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)