Laravel已定义admin.delete-post路由仍提示未定义报错问题求助
问题排查及解决方案
核心错误原因
delete-post路由注册语法异常,Laravel无法正常识别该路由的名称声明:其余路由均使用数组'as'参数定义路由名,唯独delete-post路由使用->name()链式调用定义,大概率是该行链式调用语法存在书写错误(比如符号错位、转义字符残留、遗漏字符等),导致路由未被正常注册。- 控制器
postDelete方法内存在后续跳转错误:跳转目标路由名admin.index未定义,实际注册的后台首页路由名为admin。
修复步骤
- 修复路由注册问题:将
delete-post路由的写法改为和其他路由一致的数组声明格式,替换原有路由代码:
// 替换原有delete-post路由代码 Route::get('delete-post/{id}', [ 'uses' => 'App\Http\Controllers\PostController@postDelete', 'as' => 'admin.delete-post' ]);
- 修复控制器跳转错误:修改
PostController中postDelete方法的跳转逻辑:
// 把原来的 redirect()->route('admin.index') 改为 return redirect()->route('admin')->with('info', 'Delete your post');
- 执行缓存清除:命令行执行以下命令清除所有缓存,确保路由更新生效:
php artisan optimize:clear
- 验证路由:执行
php artisan route:list查看路由列表,确认admin.delete-post路由已经出现在列表中即可。
内容的提问来源于stack exchange,提问作者sina mohsenian
相关产品推荐
相关产品推荐

