繁体   English   中英

PUT表单不会在Symfony 2中更新

[英]PUT Form doesn't Update In Symfony 2

我有一个使用PUT方法的表格

{{ form(formEdit, {'action': path('user_update',{'id':user.id}), 'method': 'PUT'}) }}

我的行动是

/**
     * Edits an existing User entity.
     *
     * @Route("/{id}", name="user_update")
     * @Method("PUT")
     * @Template("foo:User:update.html.twig")
     * @ParamConverter("User", class="foo:User")
     */
    public function updateAction(Request $request,User $user){
        $form = $this->createForm(new UserType(), $user);
        $form->handleRequest($request);
        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($user);
            $em->flush();

            return $this->redirect($this->generateUrl('user',array('id' => $user->getId())));
        }


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

我的树枝

{{ form(formEdit, {'action': path('user_update',{'id':user.id}),'method':'PUT'}) }}

提交表单时,我没有任何错误。 如果我用POST更改PUT,则该表格有效。 我尝试过

    echo $request->getMethod();
    echo $form->getErrorsAsString();

这是我的输出

PUT
name: No errors surname: No errors email: No errors gender: 0: No errors 1: No errors submit: No errors name: No errors surname: No errors email: No errors gender: 0: No errors 1: No errors submit: No errors

但是我不明白我该如何捕捉该错误。 我正在使用Symfony 2.3

表单只能处理POST和GET请求。 您可以在此处看到为什么未将PUT和DELETE添加为表单方法。

您只能通过AJAX调用发送PUT请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM