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.