如何让 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');
});
我正在尝试在 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');
});