s3上的图像需要加载页面刷新

时间:2014-01-21 01:38:36

标签: ruby-on-rails heroku amazon-s3 ruby-on-rails-4

我正在使用Carrierwave将图像上传到免费的Heroku dyno上的s3(虽然这也发生在本地)。我显示图像的页面将它们加载为CSS背景图像(内联CSS样式)。

我的问题是在刷新页面之前图像不会加载。然后,如果我访问同一模型中的另一个图像,它会加载看起来像以前缓存的图像。

以下是相关代码:

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的网络监视器在我第一次点击时没有显示任何加载内容。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

检查您是否在该图像/元素上运行javascript。我有一个完全相同的问题,结果发现有一个脚本操纵元素。希望有所帮助。