MethodNotAllowedHttpException Laravel 5.3

MethodNotAllowedHttpException Laravel 5.3

我无法更新或删除,尤其是当我在路由文件

中添加 Route::resource(....) 时

web.php (route file)

Route::resource('home/activity','ActivityController');

edit.blade.php

{!!Form::model($activity,['action' => ['ActivityController@update',$activity->id]])!!}

<div class="form-group">
  {!! Form::label('Type :') !!} {!! Form::text('type',null,['class'=>'form-control']) !!}
</div>

<button class="btn btn-primary">Editer</button>

{!!Form::close()!!}

<br>
{!!Form::open(['Methode'=>'Delete','action' => ['ActivityController@destroy',$activity->id]])!!}

  {!! Form::submit('Delete',['class'=> 'btn btn-danger']) !!} 

{!! Form::close() !!}

model

  protected $table ='activities';
 protected $fillable =['type']

ActivityController

    public function update($id,Request $request){
        $activity = activity::findOrFail($id);
        $activity->update($request->all());
        return redirect('/home/activity');
    }

    public function destroy($id){
       Activity::destroy($id);
       return redirect('/home/activity');
    }

**谢谢

默认情况下Form::open()使用post方法请求。但是当你创建一个 Route::resource() 时,更新方法接受一个放置或补丁请求。

因此,对于 putpatch 请求,您需要传递额外的参数:

{{ Form::open(array('route' => array('activity.edit',$activity->id), 'method' => 'put')) }}

同样适用于删除表单:

{{ Form::open(array('route' => array('activity.delete',$activity->id), 'method' => 'delete')) }}