在Symfony2中创建服务表单

马库斯·莱安德(Marcus Leander)

我正在尝试通过我的服务创建表单,但是却出现此错误

这是控制器中的代码摘录

$service = $this->get('questions_service');
$form_question = $service->createQuestionForm($question, $this->generateUrl('create_question', array('adId' => $ad->getId())));

这是我的职责

public function createQuestionForm($entity, $route)
{
    $form = $this->createForm(new QuestionType(), $entity, array(
        'action' => $route,
        'method' => 'POST',
    ));

    $form
        ->add('submit', 'submit', array('label' => '>', 'attr' => array('class' => 'button button-question button-message')));

    return $form;
}
杰森·罗曼(Jason Roman)

createForm()函数是Symfony的Controller类中的别名您将无法从服务中访问它。您需要将Symfony容器注入服务或注入form.factory服务。例如:

services:
    questions_service:
        class:        AppBundle\Service\QuestionsService
        arguments:    [form.factory]

然后在你的课上:

use Symfony\Component\Form\FormFactory;

class QuestionsService
{
    private $formFactory;

    public function __construct(FormFactory $formFactory)
    {
        $this->formFactory = $formFactory;
    }

    public function createQuestionForm($entity, $route)
    {
        $form = $this->formFactory->createForm(new QuestionType(), $entity, array(
            'action' => $route,
            'method' => 'POST',
        ));

        $form
            ->add('submit', 'submit', array(
                'label' => '>',
                'attr' => array('class' => 'button button-question button-message')
        ));

        return $form;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将CSS放入symfony2中的表单创建中

来自分类Dev

如何使用Doctrine在Symfony2中创建复杂的表单

来自分类Dev

将CSS放入symfony2中的表单创建中

来自分类Dev

Symfony2 Twig扩展:创建表单

来自分类Dev

从symfony2中的表单获取数据

来自分类Dev

Symfony2:在服务容器中实例化表单事件订阅者

来自分类Dev

在Symfony2中充当服务

来自分类Dev

Symfony2中的Gmail服务

来自分类Dev

如何在Symfony2中创建具有一个实体的多行的表单

来自分类Dev

Symfony2:在单独的文件中没有实体的情况下创建表单

来自分类Dev

Symfony2表单:创建新的或选择现有的

来自分类Dev

Symfony2:无法使用表单创建新实体

来自分类Dev

在Symfony2中创建命令

来自分类Dev

如何在symfony2中为自定义类创建服务容器

来自分类Dev

在Symfony2中将自定义验证器作为服务创建

来自分类Dev

Symfony2表单集合-

来自分类Dev

Symfony2表单处理

来自分类Dev

在symfony2表单构建器中访问底层实体

来自分类Dev

处理Symfony2中的额外表单字段

来自分类Dev

如何验证Symfony2中具有集合的表单?

来自分类Dev

Symfony2中的组表单字段

来自分类Dev

在Symfony2中访问HTML表单数据

来自分类Dev

在Symfony2中覆盖表单字段模板

来自分类Dev

如何在symfony2中提交表单ajax?

来自分类Dev

Symfony2表单,字段不在实体中

来自分类Dev

Symfony2 Ajax表单验证在树枝中呈现错误

来自分类Dev

如何在Symfony2中设置表单名称?

来自分类Dev

如何将段落嵌入Symfony2表单中?

来自分类Dev

从Symfony2中的表单获取数据后克隆对象