我正在做一个 Laravel (v 5.4) 项目,我做了 CRUD 来管理类别。目前,我可以创建一个新类别并且可以删除。
我创建了视图(带有刀片)以删除类别:
<table class="table">
<thead>
<th>Name</th>
<th>Action</th>
</thead>
<tbody>
@foreach ($categories as $category)
<tr>
<td>$category->name</td>
<td>
<a href="{{ url('/categories', ['id' => $category->id]) }}">
<button class="btn btn-default">
Delete
</button>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
在路由文件 web.php 中,我写道:
Route::delete('/categories/{id}', CategoryController@destroy);
我有一个控制器 CategoryController 和一个方法 destroy() 删除类别并重定向到类别列表。但是当我点击删除按钮时,我得到一个错误,说明这条路线没有定义。如果我将 Route::delete
替换为 Route::get
它可以工作。我认为 url 是用 GET 调用的,但我会保留它以进行其他操作。
我试图用表单和“DELETE”替换链接作为“方法”属性的值,但它没有用。
如何使用 DELETE 方法调用 url 以使用 Route::delete
捕获它?
提前致谢。
原文由 Needlle 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于 laravel 5.7,请看我的例子: