2

我試圖將CSS內聯到我的佈局中。我目前使用如何使用資產管道在Rails中內聯壓縮的CSS

= Rails.application.assets.find_asset( 'embedded.css')。body.html_safe

然而,返回的CSS是不壓縮。我驗證了.digest_path資產文件是否存在,並被正確壓縮。

當然,我可以編寫一個幫助程序來檢查給定資產是否存在當前的磁盤壓縮資產文件並使用它。不過,我認爲find_asset實際上每次調用時都會編譯CSS資源 - 生產效率不高。我希望有一個更清潔的解決方案來解決這個問題

+0

'find_asset'內置了一個緩存機制(位於'tmp/cache/assets'中)。你可以在這裏看到:https://github.com/sstephenson/sprockets/blob/master/lib/sprockets/index.rb#L59 – bosgood

回答

0

如果要在生產中重建資產,生產必須能夠訪問限制器。默認情況下,擁有的Gemfile像這樣:

group :assets do 
    gem 'sass-rails' 
    gem 'coffee-rails' 
    gem 'therubyracer' 
    gem 'uglifier' 
end 

需要刪除:group assets do,所以這些寶石都包含在生產環境中了。然後,find_asset重建資產並在第一次調用時最小化/壓縮它,並將其緩存。

+0

我試過你的解決方案,我仍然得到未壓縮的CSS – sandre89

相關問題