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.