2011-09-04 36 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