最近我转到了Laravel5.3。
我有以下路线
Route::get('/activate/token', 'AccountActivationController@activate')->name('auth.activate');但是,当我用
dd(route('auth.activate'));我得到以下错误:
InvalidArgumentException in UrlGenerator.php第314行:路由auth.activate未定义.
它的工作原理非常好
Route::get('/activate/token', [
'as' => 'auth.activate',
'uses' => 'AccountActivationController@activate',
]);这是拉勒维尔5.3的新产品吗?我对Laravel本身还挺陌生的。
谢谢。
发布于 2021-04-25 22:33:07
对于将来遇到这种情况的人来说,这是因为您没有刷新路由器上的名称查找。
Laravel5.2添加了fluent方法name($name),作为['as' => $name]的快捷替代,但是name($name)方法需要在注册路由后的某个时候调用$router->getRoutes()->refreshNameLookups();,以便在内部实际完成映射。
在当前形式中,在示例RoutingServiceProvider包中实现的laravel/laravel包在幕后为您处理这个问题,但是如果您以任何自定义方式加载路由,则需要在适当的时候触发这种刷新。
有关如何在Laravel8.x中处理它,请参见https://github.com/laravel/framework/blob/8.x/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php#L47-L50。
发布于 2017-03-23 18:42:15
漏掉一个勾标尝试
dd(route('auth.activate'));而不是。
https://stackoverflow.com/questions/42984295
复制相似问题