【问题标题】:How to get a laravel route group to work如何让 laravel 路由组工作
【发布时间】:2018-07-18 15:33:11
【问题描述】:

我正在尝试在 Laravel 5.5 中设置一个 Laravel 路由组并在刀片中使用它。但是我得到了一个未定义的路由错误。完整的错误是:

“路由 [admin/route_group_test] 未定义。(查看:C:\Users\Joey\Web\jrd_dnd_tools\resources\views\layouts\navigation.blade.php)(查看:C:\Users\Joey\Web \jrd_dnd_tools\resources\views\layouts\navigation.blade.php)(视图:C:\Users\Joey\Web\jrd_dnd_tools\resources\views\layouts\navigation.blade.php)

我查看了文档,看起来我做得对。这是路由文件中的一行:

Route::prefix('admin')->group(function(){
     Route::get('route_group_test','AdminController@testingMiddleWare');
});

以及来自刀片的链接:

{{route('admin/route_group_test')}}

我不知道我做错了什么

【问题讨论】:

    标签: php laravel laravel-5 routes laravel-5.5


    【解决方案1】:

    route() 助手使用路由的名称。来自the docs

    route 函数为给定的命名路由生成一个 URL

    所以你需要name the route:

    Route::get('route_group_test', 'AdminController@testingMiddleWare')->name('admin.route_group_test');
    

    或者:

    Route::get('route_group_test', ['as' => 'admin.route_group_test', 'uses' => 'AdminController@testingMiddleWare']);
    

    然后使用它:

    {{ route('admin.route_group_test') }}
    

    或者你可以使用未命名的路由:

    {{ url('admin/route_group_test') }}
    

    【讨论】:

    • 我必须将名称设置为 admin/route_group_test 而不是 admin.route_group_test。谢谢
    【解决方案2】:

    试试下面的代码:

    Route::group(['prefix'=>'admin','namespace'=>''], function () {
        Route::get('route_group_test','AdminController@testingMiddleWare');
    });
    

    【讨论】:

    • 使用下面的命令检查你的路由是否存在于这个列表'php artisan route:list'中
    猜你喜欢
    • 2020-03-21
    • 2018-08-01
    • 2017-08-05
    • 2019-05-03
    • 2019-08-29
    • 1970-01-01
    • 2021-11-24
    • 2016-05-15
    • 1970-01-01
    相关资源
    最近更新 更多