如何让 laravel 路由组工作

How to get a laravel route group to work

我正在尝试在 Laravel 5.5 中设置一个 Laravel 路由组并在 blade 中使用它。但是我收到了一个 Route not defined 错误。完整的错误是:

"Route [admin/route_group_test] not defined. (View: C:\Users\Joey\Web\jrd_dnd_tools\resources\views\layouts\navigation.blade.php) (View: C:\Users\Joey\Web\jrd_dnd_tools\resources\views\layouts\navigation.blade.php) (View: 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');
});

和 blade 中的 link:

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

我不知道我做错了什么

route() helper uses route's name. From the docs:

The route function generates a URL for the given named route

所以你需要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') }}

试试下面的代码:

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