Конфликт в Heroku между gzipping assets и precompiling assets

Я запускаю приложение Rails 3.1 на Heroku Cedar Stack уже несколько месяцев. Я использую Rack::Deflater middleware для gzip моего контента и добиваюсь этого

config.middleware.insert_before ActionDispatch::Static, Rack::Deflater

в моем файле staging.rb.

Однако, начиная с прошлой недели, я получаю следующую ошибку при развертывании на Heroku

Running: rake assets:precompile
   rake aborted!
   No such middleware to insert before: ActionDispatch::Static

Тем не менее, запуск rake middleware все еще возвращает

use Rack::Cache
use Rack::Deflater
use ActionDispatch::Static
use Rack::Lock

И контент, который подается, все еще gzipped. Однако, активы не были скомпилированы (минифицированы), так как предварительная компиляция не удалась. Ручной rake precompile::asets также не помогает.

Итак, я предполагаю, что ActionDispatch::Static недоступен во время предварительной компиляции активов. Поэтому я попытался вставить Rack::Deflater перед Rack::Lock, и теперь мои активы компилируются без каких-либо сообщений об ошибках, но содержимое, передаваемое на сервер, не гзипируется.

Итак, что мне нужно сделать, чтобы и gzip, и компиляция активов выполнялись? Чего мне не хватает? Спасибо.

7
задан membLoper 19 October 2011 в 16:20
поделиться