Laravel 方法不允许
Laravel method not allowed
我在尝试提交表单时收到 MethodNotAllowedException
。这是我的路线
Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function () {
Route::resource('user', 'UserController');
Route::get('user/destroyMe/{destroyMe}', ['as' => 'user.destroyMe', 'uses' => 'UserController@destroyMe']);
Route::get('user/changeState/{id}', ['as' => 'user.changeState', 'uses' => 'UserController@changeState']);
});
这是存储新用户的表单部分:
<div class="position-center">
<form role="form" id="tryitForm" class="form-horizontal" enctype="multipart/form-data"
method="POST" action="{{route('user.store')}}">
{!! Form::token() !!}
我已经在 route:list
内进行了检查,我清楚地看到了 user.store
命名路线,路线上的方法是 POST
。我不明白为什么会出现异常?
编辑
我确实安装了 Laravel 的 AdminLTE Link,但我已经覆盖了它的路由。不用说其他所有路线都有效。
编辑 2
我尝试制作手动路线:
Route::post('admin/user', 'UserController@store');
并将其发布到 url('admin/user')
但结果仍然相同?
编辑 3
清除缓存也没有帮助。
编辑 4
进一步检查后,当到达一条不存在的随机路线时,我得到一个错误 header Sorry, the page you are looking for could not be found.
,但是如果我执行任何 POST
路线,我得到 Whoops, looks like something went wrong.
(尽管这两个错误都触发了相同的异常)。
Laravel 日志为空
这样试试:
{!! Form::open( [ 'route' => 'user.store', 'method' => 'POST', 'files' => 'true' ] ) !!}
并关闭它。
//
{{ Form::close() }}
编辑:
这样做怎么样:
在routes.php
Route::any('admin/user', 'UserController@form');
并且在 controller
:
public function form(){
print_r(Input::get()); die; #Hope that you are using Input.
}
我发现了一个导致所有麻烦的错误。在我的表单中有一行
<input name="_method" value="PUT" type="hidden">
它通过 copy/pasting 我的 edit
代码
偷偷溜到了那里
我在尝试提交表单时收到 MethodNotAllowedException
。这是我的路线
Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function () {
Route::resource('user', 'UserController');
Route::get('user/destroyMe/{destroyMe}', ['as' => 'user.destroyMe', 'uses' => 'UserController@destroyMe']);
Route::get('user/changeState/{id}', ['as' => 'user.changeState', 'uses' => 'UserController@changeState']);
});
这是存储新用户的表单部分:
<div class="position-center">
<form role="form" id="tryitForm" class="form-horizontal" enctype="multipart/form-data"
method="POST" action="{{route('user.store')}}">
{!! Form::token() !!}
我已经在 route:list
内进行了检查,我清楚地看到了 user.store
命名路线,路线上的方法是 POST
。我不明白为什么会出现异常?
编辑
我确实安装了 Laravel 的 AdminLTE Link,但我已经覆盖了它的路由。不用说其他所有路线都有效。
编辑 2
我尝试制作手动路线:
Route::post('admin/user', 'UserController@store');
并将其发布到 url('admin/user')
但结果仍然相同?
编辑 3
清除缓存也没有帮助。
编辑 4
进一步检查后,当到达一条不存在的随机路线时,我得到一个错误 header Sorry, the page you are looking for could not be found.
,但是如果我执行任何 POST
路线,我得到 Whoops, looks like something went wrong.
(尽管这两个错误都触发了相同的异常)。
Laravel 日志为空
这样试试:
{!! Form::open( [ 'route' => 'user.store', 'method' => 'POST', 'files' => 'true' ] ) !!}
并关闭它。
//
{{ Form::close() }}
编辑: 这样做怎么样:
在routes.php
Route::any('admin/user', 'UserController@form');
并且在 controller
:
public function form(){
print_r(Input::get()); die; #Hope that you are using Input.
}
我发现了一个导致所有麻烦的错误。在我的表单中有一行
<input name="_method" value="PUT" type="hidden">
它通过 copy/pasting 我的 edit
代码