我收到未定义的路线错误:
未定义路线[my_category.my_item]。 (查看:/home....blade.php) ...
对于以下代码(Sentry的c / p进行了格式化)
<?php $__env->startComponent('mail::button', [
'url' => route('my_category.my_item', [
'days' => 7,
'email' => isset($email) ? $email : 'e@example.com',
'confirm_code' => isset($token) ? $token : 'confirm-code'
])
]); ?>
这是从邮件组件视图生成的。如果我SSH到服务器,请从上面复制功能:
route('my_category.my_item', [
'days' => 7,
'email' => isset($email) ? $email : 'e@example.com',
'confirm_code' => isset($token) ? $token : 'confirm-code'
])
并在修补程序中运行它,我明白了,没问题。另外,如果我运行php artisan route:list | grep my_category.my_item
,我可以在那看到我的路线。
本地服务器:没有问题。登台服务器:没问题。
本地服务器和Staging服务器分别使用MailHog和Log作为邮件驱动程序,而生产服务器使用MailGun,但是我不知道这会如何影响任何事情。
路由未缓存在任何服务器上。
我可能会缺少什么?谢谢!
更新:
插入web.php
Route::get('/my-category/my-item/{days}/{email}/{token}', 'MyCategoryController@notifyMe')->name('my_category.my_item');
我现在看到的是我的路线上有token
,而不是confirm_code
。让我尝试解决该问题,然后看看会发生什么。尽管它确实可以在其他两台服务器上运行:/-刚刚尝试过,但行为仍然相同。
答案 0 :(得分:0)
我正在使用LaravelLocalization,并且我的管理路由(未使用此本地化-未进行翻译)已分组为LL中件。
将管理路由移至LL中间件组之外即可解决此问题。
对我来说仍然是一个谜,为什么在我的其他两台服务器上都可以使用,因为代码是相同的(请仔细检查)。