Существует ли стандартный способ обслуживания предварительно сжатых ресурсов в Rails 3.2 на Heroku Cedar?

У меня есть приложение Rails 3.2, которое я развертываю в стеке Heroku Cedar. Это означает, что само приложение отвечает за обслуживание своих статических ресурсов. Я хочу, чтобы эти активы были сжаты gzip, поэтому я вставил Rack::Deflaterв свой стек промежуточного ПО в production.rb:

middleware.insert_after('Rack::Cache', Rack::Deflater)

...и curlговорит мне, что это работает так, как рекламируется.

Однако, поскольку Heroku приложит все усилия для запуска rake assets:precompile, создав кучу предварительно сжатых gzip-ассетов, я бы хотел использовать их (вместо того, чтобы позволить Rack::Deflaterснова сделает всю работу). Я видел рецепты их обслуживания с помощью nginx (бесполезно на Heroku) и CDN (пока не хочу использовать CDN), но я не видел ничего, что могло бы работать автономно. Я собрал промежуточное ПО для стойки, чтобы сделать это, но мне интересно, лучший ли это способ?

6
задан John Bachir 2 April 2012 в 17:55
поделиться