2012-04-16 62 views
36

我對Rails資產管道有點新鮮,所以我可能會做錯事。我正在嘗試爲我的後端應用程序使用Active Admin,爲我的前端應用程序使用twitter引導程序css。Rails Active Admin css與Twitter衝突引導程序css

我加入了bootstrap.css到/應用/資產/樣式然後還補充:

//= require bootstrap 

到application.css - 然後我做了資產的預編譯本地

似乎工作正常,但一些樣式並沒有完全通過,我認爲這是因爲活躍的管理員的CSS重寫它。

我的理解是,應用程序將css資源編譯到應用程序的css公共資產中,並且應用程序在運行時使用該文件。

我需要以某種方式將二者分開,並使其使用Twitter的引導CSS作爲前端的主CSS也許會告訴它不要使用主動管理的CSS在前端文件。

這樣做的最好方法是什麼?

回答

27

您是否觀看過使用ActiveAdmin的RailsCasts視頻?在視頻中,Ryan向您展示瞭如何防止ActiveAdmin CSS踩在主應用程序CSS上。

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

移動信息從視頻到答案

在application.css刪除:

*= require_tree . 

鋼軌4,Jiten K建議加入這production.rb

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

然而,對此答案的評論之一表示這不是必需的。到目前爲止,我並不需要它。

+3

MattSlay是正確的......瑞安的RailsCast(#284)將告訴你如何解決這個問題(這一切都因爲「require_tree的。 「在application.css中)。刪除/編輯將解決CSS問題。 – 2012-04-25 18:03:52

+0

這種方法在開發模式下工作正常,但在生產中,當運行'bundle exec rake assets:precompile'時出現問題:在我的情況下,css文件混合並且bootstrap.css被ActiveaAdmin覆蓋。任何想法?。謝謝! – CristianOrellanaBak 2014-03-26 16:05:11

+0

但是但require_tree。就是讓所有的CSS文件都能被Rails神奇地整合成一個的魔法......這個答案是矯枉過正的,應該是未被接受的 – AlexChaffee 2016-11-04 19:13:50

125

我有同樣的問題,並能夠通過移動

app/assets/stylesheets/active_admin.css.scss 

vendor/assets/stylesheets/active_admin.css.scss 

解決它的主動管理資產應該vendor/作爲rails guide提到:

「供應商/資產用於外部實體擁有的資產,比如JavaScript插件和CSS框架的代碼。「

+0

運行'bundle exec rake assets:precompile '?在我的情況下,css文件完成混合並且bootstrap.css被activeadmin覆蓋。任何想法?。 – CristianOrellanaBak 2014-03-26 15:55:36

+0

對我不起作用 – theDazzler 2014-11-07 18:22:41

+9

並對'active_admin.js'執行相同操作。將它移動到'vendor/assets/javascripts/active_admin.js' – Arcolye 2015-05-04 05:39:20

3

對我來說改變application.css到下面的解決了這個問題:

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

這似乎是爲我工作,謝謝。我一直無法弄清楚「stub」究竟是什麼,你介意給我一個快速提示嗎? – justinraczak 2017-08-09 00:59:10