如何在刀片中使用前缀路由?

时间:2018-03-29 07:45:26

标签: controller routes blade laravel-5.5 laravel-blade

我有以下路线:

Auth::routes();
Route::get('/' , 'HomeController@index')->name('mainHomePage');

Route::prefix('admin')->group(function () {
    Route::get('login' , 'admin\AdminController@login')->name('admin.login');
    Route::resource('/','admin\AdminController');
    Route::resource('subjects','admin\SubjectsController');
});

我无法在刀片语法中获取我的主题路线。我有工作网址http://localhost/quizl/admin/subjects。 但是当我尝试使用"{{route('admin.subjects')}}""{{route('admin.subjects.index')}}"刀片文件中的任何位置获取相同路线时出现错误。 的更新 错误是:

  

解析错误:语法错误,意外' admin' (T_STRING),期待   ','或者')' (视图:   /var/www/html/quizl/resources/views/admin/header.blade.php)(查看:   /var/www/html/quizl/resources/views/admin/header.blade.php)(查看:   /var/www/html/quizl/resources/views/admin/header.blade.php)   enter image description here

怎么做?在互联网上我没有找到太多帮助。

1 个答案:

答案 0 :(得分:0)

大多数情况下,您只需使用分配给路线的任何名称即可。例如,{{route('admin.login')}}

但是,当您对路线进行分组时,您可以选择"前缀名称"在所有这些儿童路线上:

Route::prefix('admin')->name('admin.')->group(function(){
    Route::get('/login' , 'AdminController@login');
    Route::resource('/','AdminController@index');
    Route::resource('/subjects','SubjectsController@subjects')->name('subjects');
}

请注意名称后面的句点 - 这将允许您使用点表示法从管理员组中获取名为科目的路线,例如

{{route('admin.subjects)}}

上面代码中的错误只是{{route('admin.subjects'))}}只是额外的右括号。