Laravel AdminLTE 将参数传递给菜单可以方法

Laravel AdminLTE pass parameter to menu can method

我目前正在使用 https://github.com/jeroennoten/Laravel-AdminLTE 我的 laravel 项目。我面临的问题是,我正在尝试将参数传递给菜单配置中的 can 方法,如下所示,但没有任何运气让它工作。

菜单配置:

[
    'text' => 'Add new post',
    'url'  => 'admin/blog/new',
    'can'  => ['access:posts'],
],

帖子门:

Gate::define('access', function ($user,$location) {
   return $user->hasAccess($location);
});

我想我可能错误地将参数传递给了门。

您不能传递额外的参数。

但是如果你只是想绕过变量,你可以使用 use。您可以定义基于 URL segment/path.

的示例
$location = request()->segment(1); // get 'blog' from admin/blog/new
Gate::define('access', function ($user) use($location) {
   return $user->hasAccess($location);
});