Symfony:使用"动作"作为表单字段名称会导致问题

时间:2015-04-21 15:15:37

标签: symfony twig

我有一个包含此字段的表单类型:

        ->add('action', 'text', array(
            'required' => false,
        ))

表单类型映射到具有属性action的实体。

问题是,当我在twig中渲染此表单时,该字段预先填充了表单的HTTP操作URL,这显然不是我想要的。

我是否必须重命名表单字段和实体属性以避免此冲突?

2 个答案:

答案 0 :(得分:3)

我错误地在控制器中初始化表单。我这样做了:

    $filterForm = $this->createForm(new ActionLogFilterType(), array(
        'action' => $this->generateUrl('admin.action_logs.index'),
        'method' => 'GET',
    ));

当我需要这样做时:

    $filterForm = $this->createForm(new ActionLogFilterType(), null, array(
        'action' => $this->generateUrl('admin.action_logs.index'),
        'method' => 'GET',
    ));

事实证明,我确实可以使用action作为我希望的表单字段。

答案 1 :(得分:0)

在Symfony 2.3中添加了变量方法和操作,请参阅http://symfony.com/doc/current/reference/forms/twig_reference.html。所以,是的,你必须重命名它。