【问题标题】:Symfony2: Submit data from a form in a twig template to databaseSymfony2:将数据从树枝模板中的表单提交到数据库
【发布时间】:2015-08-06 22:43:57
【问题描述】:

我正在使用 Symfony2 呈现表单。目前我的控制器中的操作方法呈现一个包含表单的视图:

/**
 * @Route("/hot", name="sort")
 * @Template()
 */
public function testAction(Request $request)
{
    $task = new enquiry();
    $form = $this->createForm(new QuestionType(), $task);

    return $this->render('IWABundle:Default:index.html.twig', array('form'=>$form->createView()));
}

我的 index.html.twig 文件中显示表单的部分如下所示:

{% block form %}
    <form action="{{ path('fake') }}">
        {{ form_start(form) }}
        {{ form_start(form.email) }}
        {{ form_start(form.firstname) }}
        {{ form_start(form.Enquiry) }}
        {{ form_end(form) }}
    </form>
{% endblock %}

如何使用 Twig 将用户的输入持久化到数据库中。我已经在上面的表单中包含了一个动作到另一个控制器来处理表单,但是它似乎不起作用。如果您知道一旦用户单击提交后提交数据的简单程序,如果您能启发我,我将不胜感激。

非常感谢

【问题讨论】:

    标签: forms symfony twig submit


    【解决方案1】:

    当您输入此内容时,您可以轻松地在 symfony2 文档中搜索答案。

    确保您的路由器接受这两种方法。

    public function testAction(Request $request)
    {
        $em = $this->getDoctrine()->getManager();
        $task = new enquiry();
        $form = $this->createForm(new QuestionType(), $task);
        $form->handleRequest($request);
        if ($form->isValid()) {
            $em->persist($task);
            $em->flush();
        }
        return $this->render('IWABundle:Default:index.html.twig', array('form'=>$form->createView()));
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      相关资源
      最近更新 更多