【发布时间】:2021-06-08 13:01:21
【问题描述】:
我正在使用 Laravel 8 开发我的项目,现在我想从数据库中删除一个数据,所以我添加了这个表单:
<form action="{{ route('destroy.question', $show->slug) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="text-blue-500 BJadidBold">Delete Question</button>
</form>
这里是路线:
Route::delete('questions/{slug}' , [QuestionController::class, 'destroyQuestion'])->name('destroy.question');
这是控制器方法:
public function destroyQuestion(Question $show)
{
if($show->ownedBy(auth()->user())){
$show->delete();
return back();
}
}
现在的问题是,它没有成功,我的意思是它正确地抓住了slug,但它显示了 404
不知何故找不到页面!
我也对此进行了测试:
public function destroyQuestion(Question $show)
{
dd($show);
}
但是还是显示404 NOT FOUND页面,说明进程没有到达Controller方法destroyAnswer()!
那么我该如何解决这个问题呢?
非常感谢你们的任何想法或建议......
谢谢。
【问题讨论】:
-
您的标题非常具有误导性,实际上与您的问题无关。
-
尝试将函数 destroyQuestion(Question $show) 替换为函数 destroyQuestion(Question $slug)
-
@RiggsFolly 你好,你能写出更好的标题吗?谢谢
-
你的路由和方法参数需要同名。