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() 时,更新方法接受一个放置或补丁请求。
因此,对于 put
或 patch
请求,您需要传递额外的参数:
{{ Form::open(array('route' => array('activity.edit',$activity->id), 'method' => 'put')) }}
同样适用于删除表单:
{{ Form::open(array('route' => array('activity.delete',$activity->id), 'method' => 'delete')) }}
我无法更新或删除,尤其是当我在路由文件
中添加 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() 时,更新方法接受一个放置或补丁请求。
因此,对于 put
或 patch
请求,您需要传递额外的参数:
{{ Form::open(array('route' => array('activity.edit',$activity->id), 'method' => 'put')) }}
同样适用于删除表单:
{{ Form::open(array('route' => array('activity.delete',$activity->id), 'method' => 'delete')) }}