我使用Laravel 8创建了一个项目,并制作了一个blade/view来从数据库中删除记录,但当我单击删除按钮时出现了错误。
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException此路由不支持DELETE方法。支持的方法:后
刀片/视图
<form action="{{ route('destroy', $steps->id) }}" method="POST">
<a class="btn btn-info" href="">Show</a>
<a class="btn btn-primary" href="{{ route('steps',$steps->id) }}">Edit</a>
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Delete</button>
</form>
控制器
public function destroy(Step $step)
{
$step->delete();
return redirect()->route('show');
}
路线
Route::post('destroy', [LinkController::class, 'destroy'])->name('destroy');
您需要在路由中发送id来声明函数中的模型绑定,因此编写代码为:
Route::post('destroy/{step}', [LinkController::class, 'destroy'])->name('destroy');