2013-10-10 61 views
22

首先,我对 应用程序/资产/样式表/ active_admin.css.scss创建的active_admin CSS文件 “active_admin.css.scss”Activeadmin覆盖我的CSS

/* active_admin.css.scss */ 
@import "active_admin/mixins"; 
@import "active_admin/base"; 

/* application.css.scss*/ 
@import "active_admin.css.scss" 

所以我有很多的CSS我被压倒了,我按照这个帖子的指示 http://robertomurray.co.uk/blog/2011/rails-fix-activeadmin-css-over-riding-problem 但仍然不起作用。 我将文件的位置从app/assets/stylesheets/active_admin.css.scss更改为 vendor/assets/stylesheets/active_admin.css.scss,但仍然存在问题。

所以我想我的问题是我怎么才能加载activeadmin的CSS文件,只有当他们真的需要?

回答

20

对于active_admin发挥好并不包括它在application.css,即:去掉

require_tree . 

,并分别要求每个文件app /资产/样式 内,但不要把active_admin。 CSS

和配置/ production.rb把这个

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

这条线将使得主动管理CSS提供给管理部分 - >配置.assets.precompile + = ['active_admin.css'] – jimagic

+0

你必须在application.css中列出/放置所有CSS名称,除了active_admin.css和remove - > require_tree – jimagic

+3

两件事: 1.添加active_admin.css到预编译列表是没有必要的; AA已经这样做了。 2.有一张开放票可以解决这里描述的问题:https://github.com/gregbell/active_admin/issues/2514 – seanlinsley

3

从您的应用程序/资产这条线/ stylehseets/application.css.sass

*= require_tree ../../../vendor/assets/stylesheets/ 

移动active_admin.css.scss到供应商/资产/样式表/

66

基于所选答案和Nathan的回答seanlinsley评论过, 似乎对我来说,“干净”的方式确实是将active_admin.css.scssapp/assets/stylesheets/移至vendor/assets/stylesheets/

无需任何其他(配置)修改:'主'应用程序的风格恢复正常,AA显示也正常。

(我不想手动包括我的每一个ressources代替require_tree的......!)

这是AA的进入方式:AA (still) opened issue on the matter

+6

谢谢。这是Rails 4.1的最佳解决方案。 – dankohn

+3

完美的Rails 4.1 – pastullo

+5

这应该是被接受的答案。谢谢! – cnp

5

什么,我(Rails的5)被添加以下行我的应用程序/资产/样式表/ application.css工作

*= stub "active_admin"