2013-10-10 131 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"