2012-04-16 30 views
36

Soy un poco nuevo en la cartera de activos de Rails, así que podría estar haciendo algo mal. Intento utilizar Active Admin para mi backend y twitter bootstrap css para mi aplicación de front-end.Rails Active Admin css en conflicto con Twitter Bootstrap css

I añade el bootstrap.css al /aplicaciones/activos/de estilos luego también agregó:

//= require bootstrap 

a application.css - luego hice una compilación previa del patrimonio local

Parece para que funcione bien, pero parte del estilo no está llegando exactamente y creo que es porque el CSS activo del administrador lo está anulando.

Mi comprensión es que la aplicación compila los activos de css en el activo público css de la aplicación y la aplicación usa ese archivo cuando se ejecuta.

tengo que separar de alguna manera los dos y hacer que use Twitter arranque css css como el principal en la parte delantera y tal vez no lo dicen a utilizar CSS del administrador activa archivos en la parte delantera.

¿Cuál es la mejor manera de hacerlo?

Respuesta

27

¿Has visto el video de RailsCasts usando ActiveAdmin? En el video, Ryan le muestra cómo evitar que ActiveAdmin CSS pise el CSS de su aplicación principal.

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

Intercambio de información de vídeo en respuesta

En el application.css se quita:

*= require_tree . 

Para carriles 4, Jiten K sugiere que se añada a esta production.rb:

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

Sin embargo, uno de los comentarios sobre esa respuesta SO dice que esto no es necesario. No lo he necesitado hasta ahora.

+3

MattSlay es correcta ... de Ryan Railscast (# 284) le mostrará cómo evitar esto (es todo debido a la "require_tree. "en application.css).Eliminar/editar eso resolverá el problema de CSS. –

+0

Este método funciona bien para mí en modo de desarrollo, pero en producción tengo un problema cuando ejecuto 'bundle exec rake assets: precompile': en mi caso, los archivos css terminan mezclados y bootstrap.css es sobrescrito por ActiveaAdmin. ¿Alguna idea?. ¡Gracias! – CristianOrellanaBak

+0

pero pero 'require_tree .' es la magia que permite que todos los archivos CSS se eliminen mágicamente en uno por Rails ... esta respuesta es exagerada y no debe aceptarse – AlexChaffee

125

que tenían el mismo problema, y ​​era capaz de solucionarlo moviendo

app/assets/stylesheets/active_admin.css.scss 

a

vendor/assets/stylesheets/active_admin.css.scss 

Los activos de administración activas deben estar en vendor/ como se menciona en el rails guide:

"Vendedor/activos es para activos que son propiedad de entidades externas , como el código para complementos JavaScript y marcos CSS ".

+0

Funciona bien al ejecutar' bundle exec rake assets: precompile '?. En mi caso, los archivos css terminan mezclados y bootstrap.css es sobrescrito por activeadmin. ¿Alguna idea?. – CristianOrellanaBak

+0

no funciona para mí – theDazzler

+9

Y haga lo mismo para 'active_admin.js'. Moverlo a 'proveedor/assets/javascripts/active_admin.js' – Arcolye

3

Para mí el cambio de application.css al siguiente resuelve el problema:

*= require bootstrap 
*= require_tree . 
*= stub "active_admin" 
+0

Esto parece funcionar para mí, gracias. No he podido averiguar exactamente qué es lo que hace 'stub', ¿te importaría darme una pista rápida? – justinraczak

Cuestiones relacionadas