2014-01-21 64 views
0

我使用Carrierwave將圖像上傳到s3上免費的Heroku測功機(雖然這也發生在本地)。我顯示圖像的頁面將它們加載爲CSS背景圖像(內聯CSS樣式)。s3上的圖像需要刷新頁面才能加載

我的問題是,圖像不會加載,直到我刷新頁面。然後,如果我訪問同一模型中的另一個圖像,它會加載看起來是以前緩存的圖像。

下面是相關的代碼:

image.rb

class Image < ActiveRecord::Base 
    mount_uploader :image, ImageUploader 
end 

image_controller.rb

class ImagesController < ApplicationController 
    # using a different layout for the show action 
    layout :resolve_layout 

    def show  
    @image = Image.find(params[:id]) 

    # set variables for image width and height 
    img = Magick::Image::read(@image.image_url.to_s).first 
    @width = img.columns 
    @height = img.rows 
    end 

    private 
    def resolve_layout 
     case action_name 
     when 'show' 
     'image' 
     else 
     'application' 
     end 
    end 
end 

show.html.erb

<div style="background: url('<%= @image.image_url.to_s %>');"></div> 

Chrome的網絡監視器第一次點擊時不顯示任何內容。有任何想法嗎?

回答

0

檢查您是否在該圖像/元素上運行JavaScript。我有一次完全相同的問題,結果發現有一個腳本處理元素。希望有所幫助。

相關問題