ActionView:: Template:: Error (n'est pas précompilé):

en production (Heroku), j'obtiens l'erreur suivante:

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

Je cours des Rails 3.2.6, y compris actionpack 3.2.6 qui, je croyais, avait cette correction pour ce numéro: https://github.com/rails/rails/commit/6bb86e1f3f7f9e11ee1c056d8742125173ecbce1

j'ai aussi essayé ceci: "ActionView::Template::Erreur ( n'est-ce pas précompilé" posé sur "image_tag nul"

En gros, tant qu'une des images de cette page n'existe pas, c'est une erreur. Si je télécharge les images, ça marche très bien. Des idées?

Merci, -- Marque

20
demandé sur Community 2012-06-17 05:06:21

1 réponses

je suppose que vous utilisez quelque chose comme CarrierWave pour gérer le téléchargement de fichiers? Vous pouvez spécifier un gestionnaire d'image par défaut dans votre classe uploader:

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

cela affichera l'image par défaut plutôt que d'essayer d'accéder à un fichier inexistant appelé "" dans le pipeline asset.

46
répondu Jamon Holmgren 2012-07-03 16:33:24