【问题标题】:Laravel 8 'Route [admin.test] not defined'Laravel 8'未定义路由 [admin.test]'
【发布时间】:2022-01-26 10:32:06
【问题描述】:

我正在尝试编写一条新路线,但它不起作用。甚至这条路线也没有显示在 route:list 中。但是如果我写路由:缓存,这条路线就可以了。每条新路线都很烦人,如何解决?

    Route::group(['prefix' => 'admin', 'middleware' => 'auth', 'as' => 'admin.'], function () {
        Route::get('/test', [AdminIndexController::class, 'index'])->name('test');  
});

在blade.php中

<a href="{{ route('admin.test') }}">Test</a>

【问题讨论】:

  • 你定义的路由被命名为'test',而不是'admin.test'如果你想在名字前加上前缀:laravel.com/docs/8.x/routing#route-group-name-prefixes
  • 是生产还是本地?
  • 使用 cli 中的“php artisan route:list”命令检查路由列表。并尝试清理路由缓存“php artisan route:clear”。
  • 我使用“'as' => 'admin.' ",如果此代码不正确,则在 route:cache 之后将无法使用
  • 哦等等...问题是创建新路由后需要清除缓存吗?那是一个命令.... 有什么问题? Laravel 缓存路由来加速你的应用程序。

标签: php laravel caching routes


【解决方案1】:

如果要删除路由缓存,请删除此文件:

bootstrap/cache/routes.php

之后你可以运行 artisan 命令

php artisan cache:clear

但是不使用路由缓存是没有问题的。正如documentation 中所述,它只会使“您的路线注册速度提高 100 倍”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-28
    • 2021-11-24
    • 2018-06-30
    • 2018-12-16
    • 2020-02-06
    • 2015-01-16
    • 2019-05-03
    相关资源
    最近更新 更多