gpt4 book ai didi

Laravel - DELETE 方法不支持删除路由

转载 作者:行者123 更新时间:2023-12-04 14:37:39 25 4
gpt4 key购买 nike

我是 laravel 的完全初学者,目前正在制作一个简单的管理面板。我有一个显示用户(姓名、电子邮件等)的网格,我遇到的问题可能很愚蠢,但我无法弄清楚。我创建了一个用于删除用户的 Controller 方法:

public function destroy($id)
{
$user = User::find($id);
$user->delete();

return redirect('/admin')->with('success', 'User has been deleted');
}

并将路线定义为:
Route::post('/admin/delete/{id}', 'AdminController@destroy')    
->middleware('is_admin')
->name('admin.destroy');

为了删除网格中的用户,我在 View 中使用了表单,甚至设置了标题:
<td>
<form href="{{ route('admin.destroy', $user->id)}}" method="post">
@method('DELETE')
@csrf
<input class="btn btn-danger" type="submit" value="Delete" />
</form>

每次我按下按钮删除用户时,我都会得到以下信息:
The DELETE method is not supported for this route. Supported methods: GET, HEAD.

我只是想不通我做错了什么。我尝试将路由类型更改为发布,但出现相同的错误。

最佳答案

您的表单不包含 action ,所以它会将它提交到与它所在的相同的 URL,它只是 GET/HEAD。

试试这个:

<form action="{{ route('admin.destroy', $user->id)}}" method="post">
@method('DELETE')
@csrf
<input class="btn btn-danger" type="submit" value="Delete" />
</form>

关于Laravel - DELETE 方法不支持删除路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55771840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com