Reputation:
I'm trying to delete a user, and I'm getting the error - method not allowed.
This is some of the form.
<form class="form-horizontal" role="form" action="/admin/access/users/delete/{{$user->id}}" method="POST">
{{ method_field('DELETE') }}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<div class="col-sm-10">
<input type="hidden" class="form-control" id="id_delete" disabled>
</div>
</div>
</form>
Route
Route::group(['namespace' => 'Backend', 'prefix' => 'admin'], function () {
Route::group(['prefix' => 'access', 'namespace' => 'Access'], function () {
Route::group(['namespace' => 'User'], function () {
Route::post('users/delete/{id}', 'UserBackendController@destroy');
});
});
});
Upvotes: 0
Views: 56
Reputation: 924
Change Route Method from POST to DELETE
Route::group(['namespace' => 'Backend', 'prefix' => 'admin'], function () {
Route::group(['prefix' => 'access', 'namespace' => 'Access'], function () {
Route::group(['namespace' => 'User'], function () {
Route::delete('users/delete/{id}', 'UserBackendController@destroy');// --> change method from post to delete
});
});
});
Upvotes: 0
Reputation: 1720
Your form is using method DELETE
but your route is defined for method POST.
Change your route to
Route::delete('users/delete/{id}', 'UserBackendController@destroy');
Then it'll be fixed.
Upvotes: 4