我有一个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
);
}
My Twig
{{ 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