2011-08-31 11 views
9

En mi punto de vista pongo:Rails 3.1.x - image_tag no utiliza el archivo precompilado en el modo de producción

<%= image_tag("coin.png") %> 

Mi imagen original se pone en:

app/assets/images/coin.png 

Pero en el modo de producción el código hTML generado por image_tag es:

<img alt="Coin" src="/assets/coin.png"> 

en lugar de activos precompilados que golpean:

coin-aba0e66819d64251cb3bb4bb29b26eb2.png 

(y, naturalmente, no puedo ver la imagen).

No olvidé precompilar mis activos.

y mi entorno/production.rb es:

config.cache_classes = true                                             
    config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true                                        
    config.serve_static_assets = false                                                    
    config.assets.compress = true                                                 
    config.assets.js_compressor = :uglifier 
    config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" 

Gracias mucho en ti

Respuesta

11

¡Lo encontré !!!!!!!

Añadir a su production.rb:

config.assets.digest = true 
+3

You rock. Tuve una instalación de rc.5 donde esto funcionaba sin la nueva opción. – nasmorn

+0

Gracias por esto. Además, para solucionar el mismo problema en los archivos sass, tuve que reemplazar "<% = asset_path ('foo.png')%>" con "image-url ('foo.png')". – Thilo

+0

Muchas gracias. Esta aplicación se ha actualizado de 2.x hasta 4.x a lo largo del tiempo. Resulta que estaba cargando los antiguos activos no hash 'header.jpg' y haciendo caso omiso del' header-asdlfk12l3k4.jpg'. Esta opción era lo que faltaba. – kimos

0

Como se indica en la última parte de this railscasts Rails 3.1 no va a usar ?hash caché expira nunca más. Utilizará un hash en el nombre del archivo para los activos. No sé si las imágenes son las mismas (aún no se ha jugado con 3.1), pero podría ser su problema.

+0

Sí es exactamente lo que estaba mal, pero el mismo problema. Gracias de todos modos – Unitech

Cuestiones relacionadas