MethodNotAllowedHttpException Laravel中不支持DELETE方法



我使用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');

最新更新