Symfony2表单无法呈现

时间:2013-06-06 19:27:35

标签: forms symfony twig

我在symfony2中创建了一个表单:

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

    return $this->render('SixStringPearBundle:Icon:form.html.twig', array("form" => $form->createView()));

当我去渲染时:{{ form(form) }}

我收到以下错误:

The function "form" does not exist. Did you mean "form_row", "form_rest", "form_label", "form_errors", "form_widget", "form_enctype" in SixStringPearBundle:Icon:form.html.twig at line 1

我也尝试过使用:

{{ form_start(form) }}
{{ form_errors(form) }}

{{ form_row(form.name) }}

<input type="submit" />
{{ form_end(form) }}

我收到以下错误: The function "form_start" does not exist in SixStringPearBundle:Icon:form.html.twig at line 1

有关为何可能发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:1)

该函数已从symfony2.3中的form_widget() to form()更改。我正在使用symfony2.2并且正在阅读错误的文档

答案 1 :(得分:0)

您使用的是哪个版本的S2?你在app / config / config.yml中有什么改变吗?

我怀疑你可能在某处犯了错字并且一直试图修复它。将form.html.twig文件减少到一行:

{{ form(form) }}

除非你以某种方式设法禁用了树形桥FormExtension,否则应该看到表单函数。

==================

@cheesemacfly是正确的。 form()被添加到2.3。查看文档时,请在右上角选择正确的版本。更好的是,从S2.3.0开始。使用旧版本没有意义。