MethodNotAllowedHttpException?

时间:2017-01-05 14:08:05

标签: laravel laravel-5 laravel-5.2

我想删除时出现此错误?

<form action="{{ URL::route('admin.property.features.delete',$feature-

        >id) }}" method="POST">
           <input type="hidden" name="_method" value="DELETE">
           <input type="hidden" name="_token" value="{{ csrf_token() }}">
           <button class="btn-block btn-link delete-btn admin-delete">Delete</button>
        </form>

这是我的路线:

  Route::get('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);

控制器:

  public function destroy($feature_id){
      $feature = Feature::findOrFail($feature_id);
        dd($feature);
      $feature->delete();

      return redirect()->back()->withFlashMessage('Property features has been deleted successfully!!');
    }

1 个答案:

答案 0 :(得分:2)

简单错误。您只接受路线列表中的GET请求。您从视图中发出的请求是POST。这就是为什么不允许显示方法的原因。

将路线更改为POST,它将起作用。

  Route::post('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);

编辑:

使用any接受任何类型的请求。

 Route::any('admin/property/features/{id}/delete', ['as' => 'admin.property.features.delete', 'uses' => 'Admin\AdminPropertyFeaturesController@destroy']);