Rails
cancan

Rails: CanCanでアクションごとに権限を設定する方法

More than 3 years have passed since last update.

次のように指定する。


app/models/ability.rb

def initialize(user)

can :update, ExampleClass
can :create, ExampleClass
end

CRUD ( Create / Read / Update / Delete ) の四種類で指定しよう。

厳密には「アクション名」ではないので、edit / new / index / show は存在しなから注意だ。

たとえば CanCan で update を許可すると、 Rails では update と edit アクションの二つが許可されるぞ。


対応は次の通り。( CanCanでの指定 => Rails でのアクション)


  • read => index + show

  • update => update + edit

  • create => new + create

  • delete => delete


  • manage => 上記のアクション全て


-「CanCan アクション 権限」でググってもヒットしなかったのでメモ。

- Cancanで管理者と一般ユーザを簡単にわける方法 - ユーザタイプごとの役割の設定(認可)を参考にした。