我是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
答案 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版本将其添加到控制器中)