2012-06-17 44 views
20

Trong sản xuất (Heroku), tôi nhận được lỗi sau:ActionView :: Template :: Lỗi (không được biên dịch sẵn):

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 

Tôi đang chạy Rails 3.2.6, bao gồm actionpack 3.2 .6 mà tôi nghĩ đã sửa chữa cho vấn đề này: https://github.com/rails/rails/commit/6bb86e1f3f7f9e11ee1c056d8742125173ecbce1

tôi cũng đã cố gắng này: "ActionView::Template::Error (isn't precompiled)" raised on "image_tag nil"

về cơ bản, miễn là một trong những hình ảnh trên trang này không tồn tại, nó ném lỗi này. Nếu tôi tải lên hình ảnh, nó hoạt động tốt. Bất kỳ ý tưởng?

Cảm ơn, --Mark

+0

dường như sửa chữa chỉ xử lý với '" "' không 'nil' – lulalala

Trả lời

46

Tôi giả sử bạn đang sử dụng một cái gì đó giống như CarrierWave để xử lý tập tin tải lên? Bạn có thể chỉ định một handler hình ảnh mặc định trong lớp tải lên của bạn:

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 

chí sản lượng này, bức ảnh mặc định thay vì cố gắng truy cập vào một tập tin không tồn tại được gọi là "" trong các đường ống tài sản.

+0

Điều này có giải quyết được vấn đề không? – cman77

+3

Xin chào Jamon, nó đã giải quyết được vấn đề cho tôi. Cảm ơn. – Ben

+0

nó giải quyết vấn đề hiển thị tuy nhiên nó phá vỡ hình thức carrierwave_direct kể từ khi khóa chính sách được ghi đè bởi default_url và bị từ chối bởi amazon s3. Vì vậy, thay vì cung cấp một default_url tôi chỉ cần kiểm tra xem hình ảnh đã tồn tại trước khi hiển thị nó trong một khung nhìn – Homan

Các vấn đề liên quan