How can i pass current_admin_user to pundit?

Viewed 213

I don't use user only admin_user

I tried to do as written here, but it doesn't work for me.

ApplicationController:

class ApplicationController < ActionController::Base
  include Pundit

  def pundit_user
    current_admin_user
  end
end

AdminUserPolicy:

  def destroy?
    pundit_user.id != admin_user.id
  end

undefined local variable or method `pundit_user' for #<AdminUserPolicy:0x00007fda70fd4df8>

How can i pass current_admin_user to pundit?

UPD. ApllicationPolicy.rb

class ApplicationPolicy
  attr_reader :user, :record

  def initialize(user, record)
    @user = user
    @record = record
  end

  def index?
    true
  end

  def show?
    true
  end

  def create?
    true
  end

  def new?
    create?
  end

  def update?
    true
  end

  def edit?
    update?
  end

  def destroy?
    true
  end

  class Scope
    attr_reader :user, :scope

    def initialize(user, scope)
      @user = user
      @scope = scope
    end

    def resolve
      scope.all
    end
  end
end
0 Answers
Related