私はRails 3アプリを構築しており、Companyユーザーがそれぞれの特定のロールを決定する洗練されたユーザー権限ツールの設計に取り組んでいますPM.
このシナリオを想像してみてください。会社は、3 種類のデータに対して特定の役割を確立したいと考えています。
- プロジェクト表
- クライアントテーブル
- 企業アカウント (つまり、企業テーブル)
これらのフィールドを持つ Role ポリモーフィック テーブルを追加することを考えています。
- user_id (all_users == true でない限り、このロールが適用されるユーザー)
- 項目タイプ (all_items == true でない限り、「プロジェクト」、「クライアント」、または「会社」など)
- アイテム ID (上記のとおり)
- 役割 (「読み取り」、「編集」、「破棄」、さらには「カスタム」など)
- all_users (ブール値: このアイテムの役割はすべてのユーザーに適用されますか)
- all_items (ブール値: このユーザーの役割はすべてのアイテムに適用されますか)
- company_id (この役割を「所有」している会社)
CanCan はこれを達成するための優れた無駄のない方法だと思いますが、ここで私の質問です。1. 上の表はこれを行うのに適した方法ですか? 2. CanCan はこれと連携して効果的なソリューションを作成できますか?