Symfony / Twig:表单属性“action”为空 - 为什么?

时间:2014-12-28 21:16:30

标签: php forms symfony twig

我构建了类似文档here的表单。提交/保存工作,但action="" - 属性为空。

这是受影响的区块(通知:action="{{ action }}")。

{% block form_start -%}
{% set attr = attr|merge({'class': (attr.class|default('') ~ ' myFormClass')|trim}) %}

{% set method = method|upper %}
{%- if method in ["GET", "POST"] -%}
    {% set form_method = method %}
{%- else -%}
    {% set form_method = "POST" %}
{%- endif -%}
<form name="{{ form.vars.name }}" method="{{ form_method|lower }}" action="{{ action }}"{% for attrname, attrvalue in attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}{% if multipart %} enctype="multipart/form-data"{% endif %}>
{%- if form_method != method -%}
    <input type="hidden" name="_method" value="{{ method }}" />
{%- endif -%}
{%- endblock form_start %}

我想知道是否有一个简单的参数可以设置哪个默认值“不填充action-attribute”

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:3)

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

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

    return $form;
}