Laravel CRUD删除按钮故障:点击后跳转空白页问题排查
删除记录后页面空白的排查与解决
尝试删除一条记录时,点击删除按钮后页面跳转为空白,使用锚标签操作也出现同样问题。相关代码如下:
视图文件(index.blade.php)
<form> @csrf @method('DELETE') <button type="submit" formaction="{{ route('user.destroy',$user->id) }}">Delete</button> </form>
控制器destroy方法
public function destroy(User $user) { User::findOrfail($user->id)->delete(); return redirect()->route('user.index')->with('success','Record Deleted Successfully!!!'); }
路由配置
Route::resource('/onemany/user',UserController::class);
问题排查与修复步骤
修正路由名称
你的resource路由/onemany/user生成的destroy路由名称是onemany.user.destroy,index路由名称是onemany.user.index,视图和控制器里的路由名称都写错了:- 视图中把
route('user.destroy',$user->id)改为route('onemany.user.destroy',$user->id) - 控制器中把
redirect()->route('user.index')改为redirect()->route('onemany.user.index')
- 视图中把
简化模型操作
控制器方法已经通过User $user实现了隐式路由模型绑定,无需再调用User::findOrfail($user->id),直接删除模型即可:public function destroy(User $user) { $user->delete(); return redirect()->route('onemany.user.index')->with('success','Record Deleted Successfully!!!'); }完善表单属性
表单需明确指定method="POST",确保请求方法正确:<form method="POST"> @csrf @method('DELETE') <button type="submit" formaction="{{ route('onemany.user.destroy',$user->id) }}">Delete</button> </form>查看日志定位问题
如果以上修改后仍有问题,打开storage/logs/laravel.log查看报错信息,比如路由未匹配、模型绑定失败等,根据日志进一步排查。
内容的提问来源于stack exchange,提问作者Pranav Sompura
相关产品推荐
相关产品推荐

