Skip to content

Installation

Active Admin is a Ruby Gem.

ruby
gem 'activeadmin'

# Plus integrations with:
gem 'devise'
gem 'cancancan'
gem 'draper'
gem 'pundit'

More accurately, it's a Rails Engine that can be injected into your existing Ruby on Rails application.

Setting up Active Admin

After installing the gem, you need to run the generator. Here are your options:

  • If you don't want to use Devise, run it with --skip-users:

    sh
    rails g active_admin:install --skip-users
  • If you want to customize the name of the generated user class, or if you want to use an existing user class, provide the class name as an argument:

    sh
    rails g active_admin:install User
  • Otherwise, with no arguments we will create an AdminUser class to use with Devise:

    sh
    rails g active_admin:install

The generator adds these core files, among others:

  • app/admin/dashboard.rb
  • app/assets/javascripts/active_admin.js
  • app/assets/stylesheets/active_admin.scss
  • config/initializers/active_admin.rb

Now, migrate and seed your database before starting the server:

sh
rails db:migrate
rails db:seed
rails server

Visit http://localhost:3000/admin and log in as the default user:

Voila! You're on your brand new Active Admin dashboard.

To register an existing model with Active Admin:

sh
rails generate active_admin:resource Post

This creates a app/admin/post.rb file with some content to start. Preview any changes in your browser.

Upgrading

When upgrading to a new version, it's a good idea to check the CHANGELOG.

To update the assets:

sh
rails generate active_admin:assets

You should also sync these files with their counterparts in the AA source code:

  • app/admin/dashboard.rb ~>
  • config/initializers/active_admin.rb ~>

Along with any template partials you've copied and modified.

Gem compatibility

will_paginate

If you use will_paginate in your app, you need to configure an initializer for Kaminari to avoid conflicts.

ruby
# config/initializers/kaminari.rb
Kaminari.configure do |config|
  config.page_method_name = :per_page_kaminari
end

If you are also using Draper, you may want to make sure per_page_kaminari is delegated correctly:

ruby
Draper::CollectionDecorator.send :delegate, :per_page_kaminari

simple_form

If you're getting the error wrong number of arguments (6 for 4..5), read #2703.

webpacker

You can opt-in to using Webpacker for ActiveAdmin assets as well by updating your configuration to turn on the use_webpacker option, either at installation time or manually.

  • at active_admin installation:

    sh
    rails g active_admin:install --use_webpacker
  • manually:

    ruby
    ActiveAdmin.setup do |config|
      config.use_webpacker = true
    end

    And run the generator to get default Active Admin assets:

    sh
    rails g active_admin:webpacker

vite_rails

To use Active Admin with Vite, make sure the @activeadmin/activeadmin dependency is added to your package.json using e.g. Yarn:

sh
yarn add @activeadmin/activeadmin@^3

Then follow the steps outlined in this discussion comment: https://github.com/activeadmin/activeadmin/discussions/7947#discussioncomment-5867902

Released under the MIT License.