template rails instalar bootstrap twitter-bootstrap ruby-on-rails-4 sass activeadmin

twitter-bootstrap - instalar - sprockets-rails



cómo detener un archivo active_admin css.scss cambiando todo el aspecto de mi aplicación (5)

Tengo un proyecto de ruby ​​on rails, ruby2 y rails4. Tengo la gema bootstrap-sass instalada. Recientemente instalé la gema activeadmin, que agrega un archivo active_admin.css.scss a mi carpeta de aplicaciones / estilos:

// SASS variable overrides must be declared before loading up Active Admin''s styles. // // To view the variables that Active Admin provides, take a look at // `app/assets/stylesheets/active_admin/mixins/_variables.css.scss` in the // Active Admin source. // // For example, to change the sidebar width: // $sidebar-width: 242px; // Active Admin''s got SASS! @import "active_admin/mixins"; @import "active_admin/base"; // Overriding any non-variable SASS must be done after the fact. // For example, to change the default status-tag color: // // .status_tag { background: #6090DB; }

Ahora los botones y formularios de mi proyecto, que diseñé con la clase de arranque, se ven todos diferentes. Es como que active_admin.css.scss está superando todo mi proyecto. Cuando comento las siguientes líneas como esta:

// @import "active_admin/mixins"; // @import "active_admin/base";

Mis botones originales vuelven, pero ActiveAdmin es un desastre para mirar. ¿Alguna idea de cómo puedo resolver este problema? Simplemente haga que active_admin.css.scss se ocupe de mis cosas de actice_admin, y deje el resto en paz.


Por lo general, el área de administración tiene su propio diseño y activos (javascripts y hojas de estilo). Dudo que haya necesidad de incluir activos active_admin en las páginas de administración de ninguna de sus aplicaciones.

Si su application.css incluye todas las hojas de estilo de forma predeterminada con esto:

*= require_true .

Luego, copiar los activos de terceros en la carpeta de activos romperá su estilo tal como lo describe. Considere cambiarlo para incluir hojas de estilo explícitamente o utilizando los métodos descritos en este artículo:

http://mrdanadams.com/2011/exclude-active-admin-js-css-rails/

El artículo tiene 3 años, por lo que es posible que haya que cambiar partes de él, pero la idea está ahí.


Gracias a un seguimiento de la investigación iniciada por James Chen a continuación (¡y gracias a Ryan Bates!) Encontré este video: http://railscasts.com/episodes/284-active-admin

Hacia el final del video, soluciona mi problema. No me importaría, pero vi la primera parte del video hace varios días para instalar la gema active_admin y luego dejé de mirar.

Básicamente, si tiene sass instalado, cambie su archivo application.css a application.css.scss y algunos otros bits y bobs pequeños.


Una mejor solución que funciona para Rails 4 es mover active_admin css y javascript a / vendor. Para cargar los activos correctamente en producción, agregue las siguientes líneas a config/environments/production.rb :

config.assets.precompile += %w( #{Rails.root}/vendor/assets/stylesheets/active_admin.css.scss) config.assets.precompile += %w( #{Rails.root}/vendor/assets/javascripts/active_admin.js.coffee)

Encontré la solución en este problema .


Gracias a James Chen y al enlace al blog de Dan Adam. Decidí consolidar los dos artículos en esta respuesta. Los siguientes pasos deberían resolver el problema en Rails 4.0:

1 - Asegúrese de que los activos de Active Admin no se encuentren en las carpetas raíz que se aplican a toda la aplicación:

cd app/assets/javascripts mkdir admin mv active_admin.js.coffee admin/ cd ../stylesheets mkdir admin mv active_admin.css.scss admin/

2 - Y en realidad, asegúrese de que los activos no estén incluidos, editando ambos archivos assets/stylesheets/application.css y assets/javascripts/application.js change require_tree . to require_directory .

3 - Ahora necesita cambiar su iniciador de Active Admin para tomar los dos archivos que acaba de excluir en los pasos 1 y 2: en file config/initializers/active_admin.rb agregue las siguientes líneas:

config.clear_stylesheets! config.register_stylesheet ''admin/active_admin.css'' config.clear_javascripts! config.register_javascript ''admin/active_admin.js''