Symfony2 FormBuilder不呈现文本字段

时间:2013-05-08 23:22:05

标签: symfony twig formbuilder

我正在使用Symfony的FormBuilder来创建表单并通过Twig呈现它。

我用它作为我的类型:

<?php

namespace Vendor\AppBundle\Form;

use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;

class RequestType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name', 'text');
        $builder->add('email', 'email');
        $builder->add('question', 'textarea');

    }

    public function getDefaultOptions(array $options)
    {
        return array('data_class' => 'Vendor\\AppBundle\\App\\Request');
    }

    /**
     * Returns the name of this type.
     *
     * @return string The name of this type
     */
    public function getName()
    {
        return 'request';
    }
}

当我渲染表单时(使用form_widget(form.field)),除了name字段外,一切看起来都很棒,不会输出任何输入字段。如果我改为“电子邮件”之类的东西,那就完美了。

我正在使用Sf2.3 BETA 1.有关为什么只会出现文本字段的问题?值得注意的是标签,字段集和所有内容都是输出的,除了实际的<input>标签。

编辑1: This是控制器代码,以备不时之需。

编辑2:值得注意的是,这是从Sf2.1应用程序更新到Sf2.3 BETA 1.代码已更新,但可能有些问题?

1 个答案:

答案 0 :(得分:0)

在这种情况下,这与此代码是真正旧的(+ 2年)代码的重构这一事实有关。

问题在于form widget was being replaced with another one和那个“另一个”正在弄乱输出,因为Twig的功能不同,也不是结构。