我在Symfony 2.3.5中遇到了handleRequest方法的奇怪问题.
我正在使用handleRequest($ editForm-> handleRequest($ request))提交表单,并且一切正常.但是在生产环境中它不起作用.我已经调试了所有内容,但我发现它没有提交此表单.
我已经成功地改变了这一点
$editForm->handleRequest($request)
Run Code Online (Sandbox Code Playgroud)
至
$editForm->submit($request->request->get($editForm->getName()))
Run Code Online (Sandbox Code Playgroud)
但有人可以告诉我为什么handleRequest在prod环境中对我不起作用?
我删除了所有缓存.
编辑:我还提醒自己,它在创建方面做得很好,但在编辑/更新方面却没有.
你在创建$ editForm时设置方法参数吗?
$editForm = $this->createForm(new TaskType(), $task, array(
'action' => $this->generateUrl('edit_task'),
'method' => 'PUT',
));
$editForm->handleRequest($request);
Run Code Online (Sandbox Code Playgroud)
此外,您可能需要http_method_override在配置中进行设置.http://symfony.com/doc/current/reference/configuration/framework.html#http-method-override
| 归档时间: |
|
| 查看次数: |
13687 次 |
| 最近记录: |