I've added the configuration pundit addapter authorization to my application
config.authorization_adapter = ActiveAdmin::PunditAdapter
When I login with the admin@example.com credentials I'm getting this error.
Pundit::NotDefinedError in Admin::Dashboard#index
unable to find policy AdminUserPolicy
Extracted source (around line #2):
insert_tag active_admin_application.view_factory["page"]
so I created these files in my policies/active_admin folder
adminuser_policy.rb
module ActiveAdmin
class AdminUserPolicy < ApplicationPolicy
class Scope < Struct.new(:user, :scope)
def resolve
scope
end
end
def home?
true
end
def index?
true
end
def show?
true
end
def new?
true
end
def create?
true
end
def update?
true
end
def destroy?
true
end
end
end
page_policy.rb
module ActiveAdmin
class PagePolicy < ApplicationPolicy
class Scope < Struct.new(:user, :scope)
def resolve
scope
end
end
def index?
true
end
def show?
true
end
end
end
What am I missing? Thanks for the help!
I found the answer!
After adding these two lines to the active admin initializer file
config.authorization_adapter = ActiveAdmin::PunditAdapter
#this line sets the default policy to application_policy.rb
config.pundit_default_policy = "ApplicationPolicy"
I had to add this to dashboard.rb under app/admin/dashboard.rb
def index
authorize :dashboards, :index?
end
Then I created a file in my policies folder called dashboard_policy.rb and added this code
class DashboardPolicy < ApplicationPolicy
def dashboard?
true
end
def index?
true
end
end
That got it working!