ActiveAdmin traditionally requires Sprockets, but there are actually several alternatives and modern approaches. Let me break down your options:
ActiveAdmin Asset Pipeline Options:
Current Status (2025):
- ActiveAdmin 3.x still primarily designed for Sprockets
- It has SCSS files with imports, mixins, and variables that need preprocessing
- The gem’s CSS compilation expects Sprockets’ asset compilation pipeline
Alternative Approaches:
1. Keep Sprockets (Current Choice)
Pros:
- โ Fully supported, zero configuration issues
- โ All ActiveAdmin features work out-of-the-box
- โ Stable and well-tested
Cons:
- โ Older, slower asset pipeline
- โ More complex than Propshaft
- โ Goes against Rails 8 defaults
2. Hybrid: Propshaft + Manual CSS for ActiveAdmin
We could try keeping Propshaft for our main app and handling ActiveAdmin CSS manually:
ActiveAdmin traditionally requires Sprockets, but the landscape is evolving. Here are your realistic options in 2025:
Current Situation:
ActiveAdmin 3.x: Requires Sprockets (stable)
ActiveAdmin 4.0 beta: Propshaft support is experimental/problematic
Rails 8 default: ๐ Propshaft (faster, simpler)
https://github.com/activeadmin/activeadmin/releases
Our Options:
Option 1: Stay with Sprockets โญ (Recommended for now)
Pros:
- โ Zero configuration issues
- โ All ActiveAdmin features work perfectly
- โ Battle-tested and stable
Cons:
- โ Slower than Propshaft
- โ More complex asset pipeline
- โ Goes against Rails 8 defaults
Option 2: ActiveAdmin Assets Gem (Simplest alternative)
The activeadmin_assets gem was mentioned as a simple solution! Let me add this option:
# Add to Gemfile
gem 'activeadmin_assets'
Pros:
- โ Zero Node.js dependency
- โ Works with Propshaft
- โ Pre-compiled ActiveAdmin assets
- โ Simple one-line installation
Cons:
- โ Can’t customize ActiveAdmin styles
- โ Community-maintained (not official)
Option 3: ActiveAdmin 4.0 Beta + Propshaft โ ๏ธ (Experimental)
Based on the GitHub discussions, this is possible but complex:
# Rails 8 setup with Propshaft + ActiveAdmin v4 beta
rails new myapp -a propshaft
bundle add activeadmin -v=4.0.0beta15
bundle add cssbundling-rails -v "1.4.1"
bundle add tailwindcss-ruby -v "~> 3.4.17"
yarn add tailwindcss@^3.4.17 # ActiveAdmin uses TailwindCSS v3
rails generate active_admin:install
rails css:install:tailwind
yarn add @activeadmin/activeadmin@4.0.0-beta15
npm pkg set scripts.build:css="tailwindcss -i ./app/assets/stylesheets/active_admin.css -o ./app/assets/builds/active_admin.css --minify -c tailwind-active_admin.config.js"
./bin/dev # Instead of rails server
Pros:
- โ Modern asset pipeline (Propshaft)
- โ ActiveAdmin v4 features
Cons:
- โ Complex setup with many steps
- โ Requires Node.js/Yarn (defeats the purpose)
- โ Beta software (unstable)
- โ TailwindCSS v3/v4 compatibility issues
Option 4: ๐ Alternative Admin Gems
If you want to avoid the ActiveAdmin complexity entirely:
RailsAdmin:
gem 'rails_admin'
- โ No asset pipeline issues
- โ Works with Propshaft out of the box
- โ Less customizable than ActiveAdmin
Trestle:
gem 'trestle'
- โ Modern Bootstrap-based admin
- โ Better Rails 8 compatibility
- โ Smaller community
Adminterface (Deprecated):
- ๐ซ No longer maintained (as shown in search results)
๐ My Recommendation:
For our production app: Stick with Sprockets + ActiveAdmin 3.x
Why?
- Stability – Battle-tested combination
- Zero configuration issues
- Full feature set available
- Easy maintenance
The performance difference between Propshaft and Sprockets won’t significantly impact your admin interface, which is typically used by a small number of internal users.
๐ฎ Future Outlook:
- ActiveAdmin v4 will eventually have better Propshaft support
- Rails community is working on solutions
- Node.js dependency trend for complex CSS is becoming standard anyway
Bottom Line: Don’t let the asset pipeline take over the application preferences. Our current Sprockets setup is perfectly fine for an admin interface! ๐ฏ
The Reality Check:
We completely replaced Propshaft with Sprockets for the entire application.
Current State:
- โ Propshaft: Completely removed
- โ Sprockets: Handles ALL assets (main app + admin)
- โ Importmaps: Still working (unaffected)
- โ Hotwire/Turbo: Still working (unaffected)
๐๏ธ How ActiveAdmin Works:
ActiveAdmin is NOT a Rails Engine. It integrates directly into your app:
- Routes:
ActiveAdmin.routes(self)adds/adminroutes to your app - Assets: ActiveAdmin’s CSS/JS becomes part of your asset pipeline
- Controllers: ActiveAdmin generates controllers in your app’s namespace
It’s tightly coupled to your application, not isolated.
๐คทโโ๏ธ So What Are Our Real Options?
Option 1: Accept Current Setup
What we have:
- Modern Rails 8 with Importmaps + Hotwire โ
- Sprockets instead of Propshaft โ (but works fine)
- Full-featured admin interface โ
Option 2: Use activeadmin_assets Gem
# Replace current ActiveAdmin setup
gem 'activeadmin_assets' # Pre-compiled assets
gem 'propshaft' # Back to Rails 8 default
- โ Get Propshaft back
- โ Keep Rails 8 defaults
- โ Can’t customize admin styles
Option 3: Build Custom Admin
Keep your Rails 8 purity but build admin from scratch:
- โ Pure Rails 8
- โ Weeks of development time
๐ What activeadmin_assets Actually Does:
The activeadmin_assets gem doesn’t replace ActiveAdmin – it provides pre-compiled static assets for ActiveAdmin to work with Propshaft.
But here’s the critical issue for you:
๐จ activeadmin_assets = NO Customization
If you use activeadmin_assets, you get:
- โ ActiveAdmin functionality
- โ Propshaft compatibility
- โ ZERO ability to customize styles/interface
The assets are pre-compiled and frozen – you can’t modify colors, layouts, or styling.
Since We Want Customization:
We’re actually in the BEST setup possible right now!
Our Current Setup Gives You:
- โ Full ActiveAdmin customization (styles, layouts, themes)
- โ Modern Rails 8 (Importmaps, Hotwire, Turbo)
- โ All ActiveAdmin features (filters, actions, forms)
- โ Sprockets instead of Propshaft (minor trade-off)
Customization Examples We Can Do:
- Custom CSS themes and colors
- Layout modifications
- Custom JavaScript behaviors
- Brand styling and logos
- Advanced form customizations
๐ฏ Reality Check:
There’s no solution that gives us:
- Full ActiveAdmin customization AND
- Propshaft AND
- Zero complexity
We have to pick 2 out of 3.
๐ก My Honest Last Decision:
Keep our current setup! We’re already using:
- Modern Rails 8 patterns (95% of your codebase)
- Importmaps and Hotwire (exactly as intended)
- Sprockets only affects asset serving (invisible to users)
The Propshaft vs Sprockets difference won’t affect your product’s success, but losing admin customization will limit our UX.
I have this new activeadmin (4.0.0.beta16) working which is great. Thanks for that.
And I am trying to have MFA working on it but I can not overwrite the session controller anymore with this version.
Any idea on implementing MFA for this version of activeadmin (4.0.0.beta16). (I did it on previous version but with these new structure changes it , the sessionController#create doesn’t seem accessible anymore )
Hi Fredy,
I understand your concern. Active Admin feels outdated in many aspects, and you may want to consider an alternative. All the tools mentioned here: Admin tools are not suitable for modern interfaces. I strongly believe we can see much more improvements in this area.