Symfony2窗体:设置没有实体的窗体名称


Symfony2 Forms: Set name of form without entity

我在控制器中创建了一个没有实体的表单,如下所示:

$defaultData = array('message' => 'Assign');
$form_assign = $this->createFormBuilder($defaultData)
  ->add('team', 'text', array('label' => 'Team'))
  ->add('create', 'button', array('label' => 'Create'))
  ->getForm();

现在当我在视图中使用

渲染表单时
{{ form(form_assign) }}

表单的名称总是"form",像这样:

<form name="form" method="post" action>

如何更改表单的名称属性?我使用Symfony 2.4.2版本

(我读过一个类似问题的评论,并尝试过,但对我不起作用)

您可以使用createNamedBuilder函数:

$defaultData = array('message' => 'Assign');
$form_assign = $this->get('form.factory')->createNamedBuilder('your-custom-name', 'form', $defaultData, array())
    ->add('team', 'text', array('label' => 'Team'))
    ->add('create', 'button', array('label' => 'Create'))
    ->getForm();