我在Laravel 5.3中使用资源控制器,而且我在删除记录时遇到问题。我想使用简单的HTML代码,我知道我必须添加一个隐藏的方法输入才能使其正常工作。
我的代码非常简单:
<form action="{{ url('/task', $task->id) }}">
{{ method_field('DELETE') }}
<input type="submit" value="Delete" />
</form>
点击提交应用重定向到空白页后 - 它不会去控制器中的销毁功能。我不知道,为什么它不起作用。我没有使用外墙,这样的操作是否必要?我很高兴每一个小费,谢谢。
答案 0 :(得分:0)
您最有可能遇到TokenMismatchException
。 Laravel认为DELETE
方法是一种“可写”方法,因此它需要一个CSRF令牌。
您可以在表单中添加CSRF令牌,或者,如果合适,您可以将URI添加到except
文件中的app/Http/Middleware/VerifyCsrfToken.php
数组。
要将令牌添加到表单:
<form action="{{ url('/task', $task->id) }}">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<input type="submit" value="Delete" />
</form>