【发布时间】:2019-03-07 12:58:35
【问题描述】:
我收到未定义路线错误:
路线 [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,我可以在那里看到我的路线。
本地服务器:没有问题。暂存服务器:没有问题。
本地和暂存服务器分别使用 MailHog 和 Log 作为邮件驱动程序,而生产使用 MailGun,但我看不出这会如何影响任何事情。
路由不会缓存在任何服务器上。
我会错过什么?谢谢!
更新:
在线web.php
Route::get('/my-category/my-item/{days}/{email}/{token}', 'MyCategoryController@notifyMe')->name('my_category.my_item');
我现在看到路由中有token 而不是confirm_code。让我尝试解决这个问题,看看会发生什么。虽然它确实可以在其他两台服务器上运行:/ - 刚刚尝试过,仍然是相同的行为。
【问题讨论】:
-
您能否在
routes/web.php中显示您创建此路线的行? -
把这个
'confirm_code' => isset($token) ? $token : 'confirm-code'改成'token' => isset($token) ? $token : 'confirm-code' -
刚做了,推送到服务器还是一样。
-
只是一个小问题,您是从您的路线或查看文件中发布完全相同的代码吗?
-
不,但我唯一要更改的是
my-category和my-item在我的查询中是something-else和another-thing。是的,控制器有不同的名称。我想我已经完成了,我正在使用本地化并只是调查一些事情。我会回来更新问题。
标签: laravel routes laravel-5.6