从Laravel 4.2升级到5.0后,POST出现路由未定义错误


Getting route undefined error for POST after upgrade from Laravel 4.2 to 5.0

我正在从Laravel 4.2 => 5.x升级我的应用程序我使用了像

这样的路由
Route::post('/cancelaccount',["as"=>"/cancelaccount",'uses'=>'UserController@cancelAccount']);

但是当我尝试加载页面时,我得到"/cancelaccount"未定义错误。我没有得到这个错误,如果它是一个get请求,我有问题,我所有的POST请求提交到控制器方法。

目前作为一个解决方案,我正在将所有动作从URL格式替换为Controller@method格式

我错过什么了吗?

所以在网上到处搜索答案后,我意识到我看错了地方。我在看Route的答案,这不是问题所在。

所以如果一些可怜的灵魂面临同样的问题,这就是答案。路由未定义错误只会在表单操作中遇到。在Laravel 5中,表单"action"只保留给Controller方法使用。如果你想POST到命名路由,像这样打开你的表单

Form::open('route'=>'your-named-route')

在我的例子中,我将表单定义更改为

Form::open('route'=>'/cancelaccount','method'=>'post')

当然你仍然可以使用Form::open('action'=>'Controller@method')

希望这对你有帮助!