Dou*_*cum 5 php laravel laravel-nova
我正在构建 Laravel Nova 界面,并向每个资源添加必要的字段。但是我注意到编辑/详细信息/垃圾按钮没有出现在我的索引视图上。
是否需要将某些内容添加到我的资源类中,或者是否与我的控制器的构建方式有关?
这就是我的 fields 方法的样子:
/**
* Get the fields displayed by the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Gravatar::make(),
Text::make('First Name')
->sortable()
->rules('required', 'max:255'),
Text::make('Last Name')
->sortable()
->rules('required', 'max:255'),
Text::make('Email')
->sortable()
->rules('required', 'email', 'max:255')
->creationRules('unique:users,email')
->updateRules('unique:users,email,{{resourceId}}'),
Text::make('Administrator', 'is_admin')
->sortable()
->rules('required', 'max:255'),
Password::make('Password')
->onlyOnForms()
->creationRules('required', 'string', 'min:6')
->updateRules('nullable', 'string', 'min:6'),
HasMany::make('Configuration'),
];
}
Run Code Online (Sandbox Code Playgroud)
由于您为用户设置了策略,因此您必须在UserPolicy类中包含以下函数:
viewAny
view
create
update
delete
restore
forceDelete
Run Code Online (Sandbox Code Playgroud)
您可以将它们设置为return true,它们就会出现。例如:
public function update(User $user){
return true;
}
Run Code Online (Sandbox Code Playgroud)
然后你的更新按钮就会出现。
如果策略存在但缺少特定操作的方法,则将不允许用户执行该操作。因此,如果您定义了策略,请不要忘记定义其所有相关的授权方法。
有关政策的更多信息:https ://nova.laravel.com/docs/1.0/resources/authorization.html#policies
| 归档时间: |
|
| 查看次数: |
3830 次 |
| 最近记录: |