0

我在 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

关于为什么会发生这种情况的任何想法?

4

2 回答 2

1

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

于 2013-06-07T07:34:51.737 回答
0

您使用的是哪个版本的 S2?您是否更改了 app/config/config.yml 中的任何内容?

我怀疑您可能在某个地方出现了拼写错误,并且在尝试修复它时一直遇到问题。将您的 form.html.twig 文件减少到一行:

{{ form(form) }}

除非您以某种方式设法禁用树枝桥 FormExtension,否则它应该会看到表单功能。

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

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

于 2013-06-06T19:42:39.053 回答