我在Symfony 2.3.5中遇到了handleRequest方法的奇怪问题。

我正在使用handleRequest($ editForm-> handleRequest($ request))提交表单,并且在dev上一切正常。但是在生产环境中它不起作用。我已经调试了所有内容,但发现它没有提交此表单。

我已经设法通过改变来解决这个问题

$editForm->handleRequest($request)


$editForm->submit($request->request->get($editForm->getName()))

但是有人可以告诉我为什么handleRequest不能仅在产品环境中为我工作吗?

我已经删除了所有缓存。

编辑:
我还提醒自己,它在创建时效果很好,但在编辑/更新上效果不佳。

最佳答案

创建$ editForm时是否要设置方法参数?

$editForm = $this->createForm(new TaskType(), $task, array(
    'action' => $this->generateUrl('edit_task'),
    'method' => 'PUT',
));

$editForm->handleRequest($request);

另外,您可能需要在配置中设置http_method_overridehttp://symfony.com/doc/current/reference/configuration/framework.html#http-method-override

10-08 07:54