我有以下路线:
'ajax': {
complete: function (data) {
console.log(data['responseJSON']);
},
'url': 'xxx.php',
},
我希望资源路由的名称分别以Route::group(['middleware' => ['role:admin'], 'prefix' => 'admin'], function()
{
Route::resource(__('route.events'), 'Auth\RoleAdmin\EventController');
});
Route::group(['middleware' => ['role:user'], 'prefix' => 'user'], function()
{
Route::resource(__('route.events'), 'Auth\RoleUser\EventController');
});
和admin.
开头,但是不会发生。
这是命令user.
的结果:
php artisan route:list
您会看到admin路由和用户路由具有相同的名称,并且这些名称不包含前缀。
答案 0 :(得分:1)
将路由更改为在组外具有前缀和中间件:
Route::prefix('admin')
->middleware('role:admin')
->group(function() {
Route::resource(__('route.events'), 'Auth\RoleAdmin\EventController');
});
Route::prefix('user')
->middleware('role:user')
->group(function() {
Route::resource(__('route.events'), 'Auth\RoleUser\EventController');
});
答案 1 :(得分:1)
kerbholz的解决方案不起作用,但是它帮助我解决了问题。
Route::prefix('admin')
->middleware('role:admin')
->name('admin.') // <-- I had to add this line in order to work
->group(function() {
Route::resource(__('route.events'), 'Auth\RoleAdmin\EventController');
});