積々RUNMIZZO

日々積み重ね

authorizeメソッドについて✍


authorize(@article)

authorizeとはなんぞ?ってなったので、かいつまんでメモしておく✍


  • gem 'pundit'の導入によって使用される

  • Punditは認可周りの機能を作成するのに有効なGem

  • policyクラスをapp/policies/に配置する

  • ApplicaitonPolicyでは、モデルオブジェクトをrecordで表している

class ApplicationPolicy
  attr_reader :user, :record

この部分? usercurrent_userが呼ばれてるっぽい。

  • authorizeメソッドは
    ApplicaitonPolicyを継承しているクラスのインスタンスにおける
    current_userrecordを渡してくれる

  • アクション名から該当Policyを推論する


冒頭の例やと@articleを特定してるんかな?

まだ難易度高目なんでこれくらいで先に進もう。。


参照

Punditを使って権限を管理する - Qiita