- 削除ボタンのフロントエンド
直接使用することはできません。
<a href={{route('user.destroy', $user)}} class="btn btn-secondary btn-danger">删除</a>
リストをルーティングすることは
、フォームには、showメソッドにジャンプしますように使用されていません
適切にする必要があります:
<formaction={{route('user.destroy', $user)}} method='POST'>
@csrf
@method('DELETE') // 模拟delete方法
<button type="submit" class="btn btn-secondary btn-danger">删除</button>
</form>
- 削除コントローラのデータと追加の管理者アクセス制御(モデル戦略)
public function destroy(User $user)
{
// 权限控制
$this->authorize('delete', $user);
$user->delete();
return redirect()->back();
}
- モデル戦略
public function delete(User $user, User $model)
{
return $user->is_admin == 1 && $user->id != $model->id;
}
- 前述の権限を表示するための削除ボタン
@can
モデル戦略を制御するために
@can('delete', $user)
<form action={{route('user.destroy', $user)}} method='POST'>
@csrf @method('DELETE')
<button type="submit" class="btn btn-secondary btn-danger">删除</button>
</form>
@endcan