Używam aplikacji Rails 3.1 na Heroku Cedar Stack od kilku miesięcy. Używam oprogramowania pośredniczącego Rack :: Deflater do zgrywania zawartości i do osiągnięcia tego przezKonflikt Heroku między aktywowaniem zasobów gzip a prekompilacją aktywów
config.middleware.insert_before ActionDispatch::Static, Rack::Deflater
w moim pliku staging.rb.
Jednak od zeszłego tygodnia, pojawia się następujący błąd podczas wdrażania do Heroku
Running: rake assets:precompile
rake aborted!
No such middleware to insert before: ActionDispatch::Static
Jednak prowadzenie natarcia middleware wciąż powraca
use Rack::Cache
use Rack::Deflater
use ActionDispatch::Static
use Rack::Lock
i treść służył nadal skompresowane. Jednak zasoby nie zostały skompilowane (zminimalizowane), ponieważ wstępna kompilacja nie powiodła się. Ręczny prekompilacja rake'u :: aset też nie pomaga.
Zakładam, że ActionDispatch :: Static nie jest dostępny podczas wstępnej kompilacji zasobów. Więc próbowałem wstawić Rack :: Deflater przed Rack :: Lock, a teraz moje zasoby są kompilowane bez żadnego komunikatu o błędzie, ale treść nie jest spakowana gzipem.
Co więc muszę zrobić, aby zarówno skompresować i skompilować moje zasoby? czego mi brakuje? Dzięki.
To jest fajne, ale nie tak fajne, jak wyświetlanie pliku .gz, który tworzy potok zasobów. Zastanawiam się, czy jest jakikolwiek sposób to zrobić? – maletor
Oto [powiązane pytanie] (http://stackoverflow.com/questions/12326191/any-way-to-serve-gzip-assets-from-heroku), które mogą Ci się przydać. –