找不到POST的路由..:不允许的方法(允许:PUT)



当前,我正在更新在现有Symfony 2.3(当前为3.0.9(上运行的系统,并检查操作
当我尝试将项目的状态更改为所选状态时,出现错误
您对确定案件有什么建议吗?

错误代码

No route found for "POST /admin/hq/article/3999/articleStatus": 
Method Not Allowed (Allow: PUT)

代码

ArticleController.php

/**
* Article status change
*
* @Method("PUT")
* @Route("/article/{ids}/articleStatus")
* @Secure(roles="ROLE_HQ_MANAGE")
*/
public function updateArticleStatusAction(Request $request, $ids)
{
return parent::updateArticleStatusAction($request, $ids);
}

版本

CentOS 6.7
PHP 5.6
Symfony3.0.9

我猜您正在使用web浏览器提交表单,操作转到只允许PUT操作的/admin/hq/article/3999/articleStatus(因为@Method("PUT")注释(。Wheras使用浏览器提交表单是一种POST操作。把那行改成@Method("POST"),你应该没事了。

转到vendor/symfony/http-foundation/Request.php并检查Symfony 6.2中的第80行,然后将该值从false更改为true

protected static $httpMethodParameterOverride = true;

最新更新