タグ

ブックマーク / qiita.com/lassy423 (1)

  • CanCanを使って複数のモデルに対して異なった権限(Ability)を設定する - Qiita

    CanCan を使うとユーザモデルが各リソースに対してアクセスする際の CRUD 権限を付与できるが、 ユーザモデルが複数になった場合、それぞれに異なった権限を設定したくなるかと思います。 例 User モデルと Admin モデルがそれぞれ以下のような役割を持つ ■User ・一般ユーザには各リソースに対して参照権限と修正権限を付与 ・特別なユーザには各リソースに対して作成権限、参照権限、修正権限、削除権限の全てを付与 ■Admin ・カスタマーサポートには各リソースに対して参照権限を付与 ・サービス管理者には各リソースに対して参照権限、修正権限、削除権限を付与 このような場合は、Ability クラスを複数に分けて権限を設定すると、幸せになれます。 モデルを作成して役割を与える 今回はユーザモデルの作成に devise を使用し、役割の判別は Rails 4.1 より追加された enu

    CanCanを使って複数のモデルに対して異なった権限(Ability)を設定する - Qiita
  • 1