Rails - Cómo enviar una imagen desde un controlador
en mi aplicación de rieles, necesito devolver una imagen.
Tengo un píxel de seguimiento 1x1.gif en mi ruta de la siguiente manera:
match "/_ctrack.gif" => "email_tracking_pixels#my_method"
En el controlador:
def my_method
send_data open('https://www.xxxxxx.com/images/1x1_transparent.gif') {|f| f.read }, :filename => '1x1_transparent.gif', :type => 'image/gif'
end
El problema es que, por alguna razón, a veces esto agota el tiempo de espera. con el siguiente error:
2011-03-07T20:08:36-08:00 heroku[router]: Error H12 (Request timeout) -> GET www.xxxxxxx.com/images/1x1_transparent.gif dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-03-07T20:08:36-08:00 app[web.1]:
2011-03-07T20:08:36-08:00 app[web.1]: OpenURI::HTTPError (503 Service Unavailable):
2011-03-07T20:08:36-08:00 app[web.1]: app/controllers/email_tracking_pixels_controller.rb:19:in `my_method'
2011-03-07T20:08:36-08:00 app[web.1]: lib/rack/www.rb:7:in `call'
¿Alguna idea sobre cómo puedo pasar esta imagen que está almacenada localmente, en lugar de tener que usar abrir y hacer una llamada web a mi propio servidor?
Gracia