2012-06-17 7 views
20

En la producción (Heroku), estoy recibiendo el siguiente error:ActionView :: :: Plantilla de error (no se precompila):

Started GET "/articles/1" for 50.134.181.231 at 2012-06-17 00:37:35 +0000 
2012-06-17T00:37:35+00:00 app[web.1]: ActionView::Template::Error (isn't precompiled): 
2012-06-17T00:37:35+00:00 heroku[router]: GET wandr.com/articles/1 dyno=web.1 queue=0 wait=0ms service=497ms status=500 bytes=728 
2012-06-17T00:37:35+00:00 app[web.1]: 
2012-06-17T00:37:35+00:00 app[web.1]:  74: = image_tag @article.featured_photo_url(:sm).to_s 
2012-06-17T00:37:35+00:00 app[web.1]:  75: 
2012-06-17T00:37:35+00:00 app[web.1]:  77: = image_tag @article.background_photo_url(:md).to_s 
2012-06-17T00:37:35+00:00 app[web.1]:  76: %p 
2012-06-17T00:37:35+00:00 app[web.1]:  78: %p 
2012-06-17T00:37:35+00:00 app[web.1]:  79: = image_tag @article.cover_photo_url(:md).to_s 
2012-06-17T00:37:35+00:00 app[web.1]:  80: 
2012-06-17T00:37:35+00:00 app[web.1]: app/views/articles/show.html.haml:77:in `_app_views_articles_show_html_haml__1847247375488199378_48105500' 
2012-06-17T00:37:35+00:00 app[web.1]: 
2012-06-17T00:37:35+00:00 app[web.1]: app/controllers/articles_controller.rb:21:in `show' 
2012-06-17T00:37:35+00:00 app[web.1]: 
2012-06-17T00:37:35+00:00 app[web.1]: Processing by ArticlesController#show as HTML 
2012-06-17T00:37:35+00:00 app[web.1]: Rendered articles/show.html.haml within layouts/admin (420.5ms) 
2012-06-17T00:37:35+00:00 app[web.1]: Parameters: {"id"=>"1"} 
2012-06-17T00:37:35+00:00 app[web.1]: Completed 500 Internal Server Error in 486ms 

estoy rieles 3.2.6, incluyendo actionpack 3.2 corriendo 0.6, que me pareció que tenía esta solución para este problema: https://github.com/rails/rails/commit/6bb86e1f3f7f9e11ee1c056d8742125173ecbce1

también probé esto: "ActionView::Template::Error (isn't precompiled)" raised on "image_tag nil"

Básicamente, siempre y cuando una de las imágenes de esta página no existen, es lanzar este error. Si subo las imágenes, funciona bien. ¿Algunas ideas?

Gracias, --Mark

+0

parece que la solución solo se ocupa de '" "' not 'nil' – lulalala

Respuesta

46

supongo que estás usando algo como CarrierWave para manejar la carga de archivos? Se puede especificar un manejador de imagen por defecto en su clase de subida por

https://github.com/jnicklas/carrierwave#providing-a-default-url

class MyUploader < CarrierWave::Uploader::Base 
    def default_url 
    "/images/fallback/" + [version_name, "default.png"].compact.join('_') 
    end 
end 

Esta es la salida de la imagen por defecto en lugar de intentar acceder a un archivo inexistente llamado "" en la tubería de activos.

+0

¿Resolvió esto el problema? – cman77

+3

Hola Jamon, resolvió el problema para mí. Gracias. – Ben

+0

resuelve el problema de visualización, pero rompe la forma carrierwave_direct ya que la clave de política es sobrescrita por default_url y es rechazada por amazon s3. Entonces, en lugar de proporcionar una default_url, simplemente revisé para ver si la imagen existía antes de mostrarla en una vista – Homan

Cuestiones relacionadas