Rails: Pundit::AuthorizationNotPerformedError

前端 未结 1 1877
再見小時候
再見小時候 2021-01-12 09:49

I try install pundit. But when I set up the gem I have this message.

error message

I don\'t really understand. I am user.admin maybe is there a conflict? Tha

1条回答
  •  再見小時候
    2021-01-12 10:35

    Pundit adds a method to your controller called verify_authorized that ensures that the authorize method is called somewhere in your controller action. You likely setup an after_action that calls verify_authorized (https://github.com/elabs/pundit#ensuring-policies-and-scopes-are-used). Make sure you're calling authorize in each possible execution path through your controller action.

    Alternatively, if you do not want to authorize that particular action, you can skip it:

    class PagesControler < ApplicationController
      include Pundit
      after_action :verify_authorized, except: [:home]
    
      ...
    end
    

    or if you setup the after_action in an inherited controller:

    class ApplicationController < ActionController::Base
      include Pundit
      after_action :verify_authorized
    
      ...
    end
    
    class PagesControler < ApplicationController
      skip_after_action :verify_authorized, only: [:home]
    
      ...
    end
    

    0 讨论(0)
提交回复
热议问题