Laravel Breeze中Route [subscribes.index]未定义问题求助
问题解决:Route [subscribes.index] not defined
核心问题是路由名称不匹配:
你通过Route::resource('/my_campaigns', ...)定义的资源路由,Laravel会自动生成以my_campaigns为前缀的路由名称,而你在导航链接里用的是subscribes.index,两者不对应,所以报错。
解决方法二选一:
方法1:修改导航链接的路由名(最简单)
把导航代码里的subscribes.index替换成资源路由实际生成的my_campaigns.index即可:
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex"> <x-nav-link :href="route('my_campaigns.index')" :active="request()->routeIs('my_campaigns.index')"> {{ __('My Campaigns') }} </x-nav-link> </div>
方法2:自定义资源路由的名称前缀
如果希望保留subscribes.index这类命名,可以在定义资源路由时手动指定名称映射:
Route::resource('/my_campaigns', App\Http\Controllers\SubscribeController::class)->names([ 'index' => 'subscribes.index', // 若需要用到其他资源方法(如create、store等),也可在此补充对应命名 ]);
验证建议
执行命令php artisan route:list,查看所有已注册路由的Name列,确认你的资源路由生成的名称是否和你使用的一致,这是排查路由名称问题的常用手段。
内容的提问来源于stack exchange,提问作者Hoolis
相关产品推荐
相关产品推荐

