ActiveAdmin是給我一個ActiveAdmin資產預編譯錯誤
Undefined mixin 'global-reset'.
錯誤,當它試圖運行
rake assets:precompile
ActiveAdmin是0.3.4。 我有ActiveAdmin和資產組在我的Gemfile與sass,咖啡欄和uglifier。
ActiveAdmin是給我一個ActiveAdmin資產預編譯錯誤
Undefined mixin 'global-reset'.
錯誤,當它試圖運行
rake assets:precompile
ActiveAdmin是0.3.4。 我有ActiveAdmin和資產組在我的Gemfile與sass,咖啡欄和uglifier。
問題的確如@dimitar指出的那樣,因爲資產管道正試圖編譯partials,並且因爲它們沒有編寫成獨立編譯,所以出現了依賴關係問題。
根據您的應用程序,您可能需要全部捕獲,特別是如果您在多個子文件夾中有多個JS,CoffeScript和SCSS/SASS文件。在這種情況下,您可能會遇到rails抱怨,因爲當catch全部被移除時,某些東西沒有編譯生產。
解決方案是捕獲所有不包含SASS偏好的文件_filename.css。[scss | sass]並解決它(爲我工作!)。我還包含了其他activeadmin建議的其他一些技巧,包括準確編譯的一些ActiveAdmin依賴關係。這是我的代碼:
# Include all JS files, also those in subdolfer or javascripts assets folder
# includes for exmaple applicant.js. JS isn't the problem so the catch all works.
config.assets.precompile += %w(*.js)
# Replace %w(*.css *.js *.css.scss) with complex regexp avoiding SCSS partials compilation
config.assets.precompile += [/^[^_]\w+\.(css|css.scss)$/]
#Adding active_admin JS and CSS to the precompilation list
config.assets.precompile += %w(active_admin.css active_admin.js active_admin/print.css)
在你的CSS文件中,你最有可能:
@include 'global-reset';
但是,你要導入您的全局復位,所以你應該改變,要:
@import 'global-reset';
希望這有助於!
這已經改變了。 – nvano 2011-12-22 18:06:18
我只是偶然發現了這一點。我遇到的問題是我的production.rb
文件中的config.assets.precompile
指令。我在那裏有一個正則表達式,它匹配activeadmin
寶石中的一些資源,這不應該與預編譯相匹配。更改選項以下爲我工作:
# Needed for the ActiveAdmin's manifest assets.
config.assets.precompile += ['active_admin.css', 'active_admin.js']
有問題的代碼塊我是這樣的:
# This one effectively turns every js/css file, which starts with
# a letter or a number, into an includeable asset manifest (similar to
# what application.js and application.css already are).
# You may want to omit this line for your application.
config.assets.precompile += [/^[a-z0-9]\w+\.(css|js)$/]
它是從activeadmin
寶石匹配的資產,並宣佈他們作爲獨立的艙單和當資產管道試圖編制它們,產生了這個錯誤。
關於how the config.assets.precompile
directive works in Rails, check out this Gist的更多詳情。
奇怪,這似乎是編譯js就好了,並忽略了css偏好罰款,但也似乎忽略非部分css – 2015-07-30 22:44:56