symfony函数"形式"不存在

时间:2014-06-10 20:38:31

标签: forms symfony

我是symfony2的新手,我想创建一个简单的表单,这是我的代码: 在控制器中:

    public function testAction(Request $request) {    
    $form = $this->createFormBuilder()
    ->add('name','text')
    ->add('age','integer')
    ->add('save','submit')
    ->getForm()
    ;//initializing the form
     return $this->render('LoginLoginBundle:Default:test.html.twig', array     ('myform'=>$form->createView()));
}  
}

在树枝文件中:

{%extends "::base.html.twig"%}
{% block body %}
{{ form(myform)}} 
{% endblock %}

我收到此错误:     无法加载“提交”类型 即使我删除 - >添加('保存','提交')我也会收到此错误:

The function "form" does not exist. Did you mean "form_row", "form_rest", "form_label", "form_errors", "form_widget", "form_enctype" in LoginLoginBundle:Default:test.html.twig at line 3

1 个答案:

答案 0 :(得分:3)

我认为你有Symfony 2.2你应该把它更新到2.5。 但是,如果您想保留您的版本,则必须阅读此doc。他们告诉您需要使用以下代码呈现表单:

{% extends "::base.html.twig"%}
{% block body %}
    <form action="{{ path('your_route') }}" method="post" {{ form_enctype(myform) }}>
        {{ form_widget(myform) }}

        <input type="submit" />
    </form>
{% endblock %}

(您可以看到&#34;提交&#34;按钮必须在模板中呈现,并且您无法使用您的Symfony版本将其添加到控制器中)