Php 拉威尔·盖茨与政策
以下浇口定义工作正常:Php 拉威尔·盖茨与政策,php,laravel-5.4,Php,Laravel 5.4,以下浇口定义工作正常: Gate::define('create_role','App\Policies\RolePolicy@create_role'); Gate::define('view_role','App\Policies\RolePolicy@view_role'); Gate::define('edit_role','App\Policies\RolePolicy@edit_role'); Gate::define('delete_role'
Gate::define('create_role','App\Policies\RolePolicy@create_role');
Gate::define('view_role','App\Policies\RolePolicy@view_role');
Gate::define('edit_role','App\Policies\RolePolicy@edit_role');
Gate::define('delete_role','App\Policies\RolePolicy@delete_role');
但是当我把它改成
Gate::resource('roles', 'App\Policies\RolePolicy', [
'create_role' => 'create_role',
'view_role' => 'view_role',
'edit_role' => 'edit_role',
'delete_role' => 'delete_role',
]);
用于减少LOC和优化代码。它不起作用
以下是我的blade文件中的代码行
@can('create_role')
<a href="{{route('create_role')}}">Add Role</a>
@endcan
@can('view_role')
<a href="{{route('view_role')}}"> View Roles</a>
@endcan
@can('create_role'))
@恩德坎
@can('查看\u角色')
@恩德坎
编辑和删除也是如此。
观察到的行为是这样的,即它只接收来自策略方法的false。我甚至尝试只从它发送true,但没有任何区别。你想创建额外的门吗?。假设您在数组中传递了额外的参数。 门定义后的数组用于创建额外的门定义。 有关更多信息,请浏览文档, . 在使用资源丰富的策略时 例如:
Gate::resource('roles', 'App\Policies\RolePolicy');
@can('roles.view')
// html here
@endcan
@can('roles.create')
//html here
@endcan