user9555022
user9555022

Reputation:

Trying to delete a user. Getting method not allowed

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

Answers (2)

Jaskaran Singh
Jaskaran Singh

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

Sang Nguyen
Sang Nguyen

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

Related Questions