如何使用资源管道在Rails中内联压缩的CSS

时间:2012-10-25 16:43:16

标签: ruby-on-rails ruby-on-rails-3.2 asset-pipeline sprockets

我正在尝试将CS​​S内联到我的布局中。我正在使用

  

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

但是,返回的CSS是未压缩。我验证了.digest_path资产文件的存在,并且已正确压缩。

当然,我可以编写一个帮助程序来检查给定资产是否存在当前的磁盘上压缩资产文件,并使用它。但是,我认为find_asset实际上每次调用时都会编译一个CSS资产 - 生产效果不佳。我希望这个问题有一个更清晰的解决方案。

1 个答案:

答案 0 :(得分:0)

如果要在生产中重建资产,则生产必须能够访问minifiers。默认情况下,Gemfile有这样的东西:

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

需要删除:group assets do,因此这些宝石也包含在生产环境中。然后,find_asset重建资产并在第一次调用时最小化/压缩它,并缓存它。