Seguí este tutorial sobre cómo comprimir activos en Heroku.
Serving Compressed Assets With Heroku and Rack-Zippy
- Lea la respuesta con Nokogiri de una llamada de SOAP con Savon
- Rails: ¿cómo guardar una gran matriz en sesión? (ActionDispatch :: Cookies :: CookieOverflow)
- ¿Cómo puede una persona cambiar el uso de transactional_fixtures para un conjunto de pruebas utilizando Test :: Unit?
- Rails Routes Namespaces y form_for
- Cómo modelar una amistad mutua en Rails
Aquí está mi archivo Application.rb
require File.expand_path('../boot', __FILE__) require 'rails/all' Bundler.require(*Rails.groups) module Blog class Application < Rails::Application config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) config.exceptions_app = self.routes config.cache_store = :memory_store Rails.application.config.middleware.swap(ActionDispatch::Static, Rack::Zippy::AssetServer, Rails.public_path) end end
Mi archivo de gems
gem 'yui-compressor', '~> 0.12.0' gem 'rack-zippy'
Corrí heroku run rake middleware y obtuve eh siguiente salida
use Rack::Sendfile use Rack::Zippy:AssetServer
Ahora, cuando voy a las Herramientas de desarrollo y la pestaña Red, veo que el tamaño es casi idéntico al contenido de cada activo. Lo que significa que los activos no fueron comprimidos.
La única pregunta similar que pude encontrar fue esta
rack-zippy y option -d en producción env no sirve activos estáticos
Y la respuesta no funcionó.
Debería usar otro compresor, porque parece que Rack Zippy no funciona.
Tuve un problema similar. Las cosas empezaron a funcionar cuando configuré config.assets.compile
en falso en config/environments/production.rb
.
Además es necesario precomstackr los activos antes de desplegarlos.