Php Symfony/Twig:form属性;行动“;是空的-为什么?

Php Symfony/Twig:form属性;行动“;是空的-为什么?,php,forms,symfony,twig,Php,Forms,Symfony,Twig,我构建表单就像文档一样。提交/保存工作正常,但action=”“-属性为空 这是受影响的块(注意:action=“{{action}}”) {%block form_start-%} {%set attr=attr | merge({'class':(attr.class | default(“”)~'myFormClass')| trim})%} {%set method=method | upper%} {%-if方法在[“GET”,“POST”]-%} {%set form_method=

我构建表单就像文档一样。提交/保存工作正常,但
action=”“
-属性为空

这是受影响的块(注意:
action=“{{action}}”

{%block form_start-%}
{%set attr=attr | merge({'class':(attr.class | default(“”)~'myFormClass')| trim})%}
{%set method=method | upper%}
{%-if方法在[“GET”,“POST”]-%}
{%set form_method=method%}
{%-else-%}
{%set form_method=“POST”%}
{%-endif-%}
{%-if form_method!=method-%}
{%-endif-%}
{%-endblock form_start%}
我想知道是否有一个简单的参数来设置默认值是“不填充动作属性”


有什么想法吗?提前谢谢

创建表单对象时需要添加操作参数。例如,这就是在控制器中创建表单的函数的外观:

protected function createMyForm($entity)
{
    $form = $this->createForm($this->get(newMyFormType(), $entity, array(
        'action' => $this->generateUrl('my_form_action')
        'method' => 'POST',
    ));

    return $form;
}

您是否使用类似于
->setAction($this->generateUrl('your_route'))
的设置动作?@Qoop不,我没有。实际上,我希望Symfony在生成表单时默认设置该属性。我必须手动设置吗?是的,您必须设置操作。由于控制器可以在任何路由下使用,因此Symfony自动猜测正确的路由将是一个很大的浪费。@Qoop有意义,我将尝试一下。谢谢
protected function createMyForm($entity)
{
    $form = $this->createForm($this->get(newMyFormType(), $entity, array(
        'action' => $this->generateUrl('my_form_action')
        'method' => 'POST',
    ));

    return $form;
}