Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails Active Admin css conflicting with Twitter Bootstrap css

I'm somewhat new to the Rails asset pipeline so I might be doing something wrong. I'm trying to use Active Admin for my backend and twitter bootstrap css for my front end application.

I added the bootstrap.css to /app/assets/stylesheets then also added:

//= require bootstrap 

to application.css - then I did a precompile of the assets locally

It seems to work fine but some of the styling isn't coming through exactly and I think it's because active admin's css is overriding it.

My understanding is that the application compiles the css assets into the application css public asset and the application uses that file when running.

I need to somehow separate the two and make it use twitter bootstrap css as the main css on the front end and maybe tell it not to use active admin's css files on the front end.

What's the best way to do this?

like image 692
RailsTweeter Avatar asked Apr 16 '12 19:04

RailsTweeter


2 Answers

I had the same problem, and was able to fix it by moving

app/assets/stylesheets/active_admin.css.scss 

to

vendor/assets/stylesheets/active_admin.css.scss 

The active admin assets should be in vendor/ as mentioned in the rails guide:

"Vendor/assets is for assets that are owned by outside entities, such as code for JavaScript plugins and CSS frameworks."

like image 74
Loren Avatar answered Sep 22 '22 21:09

Loren


Have you watched the RailsCasts video on using ActiveAdmin? In the video, Ryan shows you how to prevent the ActiveAdmin CSS from stepping on your main app CSS.

http://railscasts.com/episodes/284-active-admin

Moving info from Video into answer

In the application.css you remove:

*= require_tree . 

For rails 4, Jiten K suggests adding this to production.rb:

config.assets.precompile += ['active_admin.css'] 

However one of the comments on that SO answer says this is not needed. I have not needed it so far.

like image 32
MattSlay Avatar answered Sep 23 '22 21:09

MattSlay