Rails 3.0 – 在生产中关闭Compass / SASS – 样式表404

我在Heroku上运行Compass on Rails 3.0并且它的工作正常,但我偶尔会遇到一个问题,其中(某些?)样式表的编译速度与页面的其他部分一样快,因此它们不会被提供(。 css链接导致404,然后页面显示为无样式)。

你们知道如何让Compass在服务器启动时编译所有样式表(在prod中),然后再不再触摸它们吗? 这样它基本上可以预编译所有必要的样式表,并且不存在问题?

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

谢谢!

根据这里的讨论:

在Heroku上使用Compass:/ tmp远程和本地使用样式表

我决定完全关闭服务器上的样式表编译,就像你建议的替代方法一样。

我在我的应用程序的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