0

我在将数据从表单发送到数据库时遇到问题。我的表单已生成,但他们没有发送任何数据,仅在单击以将表单发送到 url 后重定向 # 问题可能是什么请看我不知道,这是非常重要的项目。 https://github.com/szopenkrk/mgr

这是来自控制器的 parf:

   /**
* @Route("/autor.html", name="url_autor")
* @Template()
*/
    public function autorAction()
    {
        $document = new Work();
        $form = $this->createFormBuilder($document)
            ->add('contentWork', 'text')
            ->add('workDate', 'date')
            ->add('title')
            ->add('file')
            ->getForm()
        ;

        $loggedUser = $this->getUser();

        if ($this->getRequest()->isMethod('POST')) {
            $form->bind($this->getRequest());
            if ($form->isValid()) {
                $em = $this->getDoctrine()->getManager();
                /** @var $document \My\WorkBundle\Entity\Work */
                $document->setAuthor($loggedUser);
                $em->persist($document);
                $em->flush();

                return $this->redirect($this->generateUrl("url_thanks"));
            }
        }

        return array('form' => $form->createView());
    }

这是实体的一部分: https ://github.com/szopenkrk/mgr/blob/master/src/My/WorkBundle/Entity/Work.php

4

1 回答 1

0

原因是当您呈现表单时,您没有为表单设置适当的操作。相反,您输入“#”,这就是您得到它的原因。

因此,您只需要更改表单元素中的操作属性即可。例如作者视图更改:

<form action="#" method="post" {{ form_enctype(form) }}>

进入

<form action="{{ path('url_author') }}" method="post" {{ form_enctype(form) }}>
于 2013-07-14T19:32:45.540 回答