Rails 3.0 - выключение Compass / SASS в производстве - таблицы стилей 404 - PullRequest
0 голосов
/ 04 сентября 2011

Я работаю на Compass on Rails 3.0 на Heroku, и он довольно хорошо работает, но у меня иногда возникает проблема, когда (некоторые?) Таблицы стилей не компилируются так быстро, как остальная часть страницы, поэтому они не обслуживаются(ссылки .css вызывают 404, а затем страница отображается без стиля).

Ребята, вы знаете, как заставить Compass скомпилировать все таблицы стилей при запуске сервера (в prod), а затем не трогать их снова?Таким образом, он будет в основном прекомпилировать все необходимые таблицы стилей, и проблем не будет?

Или, альтернативно, имеет ли смысл вызывать какой-нибудь сценарий перед развертыванием heroku, которое скомпилировало все таблицы стилей в публичные таблицы / таблицы стилей, а потом вообще выключить Compass?

Спасибо!

1 Ответ

2 голосов
/ 05 сентября 2011

Основано на обсуждении здесь:

Использование Compass на Heroku: / 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

...