# ActiveAdmin — Admin Framework for Ruby on Rails Applications > A flexible administration framework for Ruby on Rails that generates a complete CRUD interface, dashboards, and search from your ActiveRecord models with minimal configuration. ## Install Save as a script file and run: # ActiveAdmin — Admin Framework for Ruby on Rails Applications ## Quick Use ```bash # Add to Gemfile gem 'activeadmin' gem 'devise' bundle install rails generate active_admin:install rails db:migrate db:seed rails server # Visit http://localhost:3000/admin ``` ## Introduction ActiveAdmin is a Ruby on Rails framework for building administration interfaces. It generates a full CRUD panel, search, filters, batch actions, and dashboards from ActiveRecord models, giving teams an internal admin tool with minimal code. ActiveAdmin has been a go-to solution for Rails developers needing back-office interfaces since 2011. ## What ActiveAdmin Does - Auto-generates index pages with sortable columns, pagination, and scoped filters from ActiveRecord models - Provides customizable forms with nested attributes, conditional fields, and input types out of the box - Supports batch actions for performing operations on multiple records at once - Includes a dashboard system with customizable panels for KPIs, charts, and recent activity - Offers CSV, JSON, and XML export for any resource with configurable column selection ## Architecture Overview ActiveAdmin is built as a Rails engine that registers resources (models) through a DSL defined in Ruby files under `app/admin/`. Each resource file declares which attributes to display, which filters to enable, and how forms should render. Under the hood, ActiveAdmin uses Arbre, a Ruby-based HTML templating library, to render views. It integrates with Devise for authentication, Ransack for search and filtering, and Kaminari for pagination. The DSL approach means most admin panels require no custom controllers or views. ## Self-Hosting & Configuration - Install via Gemfile, run the generator, and migrate the database to set up the admin user table - Register models with `ActiveAdmin.register Model` in files under `app/admin/` - Customize the theme with CSS overrides or the Arctic Admin gem for a modern look - Configure authorization policies using CanCanCan or Pundit integration for role-based access - Deploy as part of your Rails application; no separate infrastructure is needed ## Key Features - Declarative DSL that turns a few lines of Ruby into a full admin interface - Built-in search and filtering powered by Ransack with scopes and date ranges - Role-based access control via integration with Pundit or CanCanCan - Customizable pages and dashboard panels for non-CRUD admin views - Active community with plugins for charts, import/export, audit logs, and more ## Comparison with Similar Tools - **RailsAdmin** — convention-based with automatic model detection; ActiveAdmin uses explicit registration and offers more customization - **Administrate** — newer Thoughtbot project with a component-based approach; ActiveAdmin has a larger ecosystem and more plugins - **Trestle** — modern alternative with a cleaner API; ActiveAdmin has wider adoption and community support - **Django Admin** — Python equivalent with similar auto-generated CRUD; ActiveAdmin serves the Rails ecosystem - **Strapi / Directus** — headless CMS platforms; ActiveAdmin is a code-first admin framework tied to your Rails models ## FAQ **Q: Does ActiveAdmin work with Rails 7?** A: Yes. ActiveAdmin supports Rails 6.1 through Rails 7.x with ongoing updates for each new Rails release. **Q: Can I customize the look and feel?** A: Yes. You can override SCSS variables, replace the default layout, or use community themes like Arctic Admin for a refreshed design. **Q: How do I add custom pages that are not tied to a model?** A: Use `ActiveAdmin.register_page 'PageName'` to create standalone pages with custom content, forms, or dashboards. **Q: Is ActiveAdmin suitable for large-scale applications?** A: Yes. With proper database indexes, pagination, and scoped queries, ActiveAdmin handles admin panels for applications with millions of records. ## Sources - https://github.com/activeadmin/activeadmin - https://activeadmin.info --- Source: https://tokrepo.com/en/workflows/asset-fd48d3b7 Author: Script Depot