2011-09-04 39 views
0

我在Heroku上运行Compass on Rails 3.0并且它的工作正常,但我偶尔会遇到一些问题(某些?)样式表未编译为像页面的其他部分一样快,所以它们不被提供(.css链接导致404和页面显示为无风格)。Rails 3.0 - 在生产中关闭指南针/ SASS - 样式表404

你们是否知道使Compass能够编译服务器上的所有样式表的方法(启动时),然后不再触摸它们?这样它基本上会预编译所有必要的样式表,并且不会有问题?

或者,在heroku部署之前调用一些脚本,将所有样式表编译为public/stylesheets,然后关闭生产中的Compass,会更有意义吗?

谢谢!

回答

2

基于这里的讨论:

Using Compass on Heroku: /tmp for stylesheets remotely and locally

我决定,我宁愿关掉样式表编译在服务器上完全按照你的建议为你的另一种方法。

我的应用程序的config.ru中有以下内容,旨在实现此目的。

if (ENV['RACK_ENV'] || 'development') != 'development' 
    require 'sass/plugin/rack' 
    use Sass::Plugin::Rack 
    Sass::Plugin.options[:never_update] = true 
end 

更新:我替换为更简单的添加

Sass::Plugin.options[:never_update] = true 

我production.rb环境文件的最底部,其作品在Heroku魅力的一个这种方法。如此处所述:

http://ariejan.net/2010/09/28/precompile-sass-to-css-for-deployment-to-heroku