1

我使用 Dragonfly 和 Amazon s3 进行图像上传。由于某种原因,当我上传图片时,它保存到亚马逊上的正确文件夹,并且 uid 是正确的路径,但它没有显示出来!

每次我打电话user.avatar都是零,即使user.avatar_uid是正确的。如何让图像正确显示user.avatar.remote_url

class User < ActiveRecord::Base

  image_accessor :avatar do
    storage_path { |file| 
      "#{self[:id]}/avatar/pic#{rand(1000)}.#{file.format.to_s.downcase}" 
    }
    after_assign { |a| 
      self.avatar = a.jpg.thumb('300x300#n') if (VALID_PHOTO_TYPES.include? self.avatar.format)
    }
  end  

  attr_accessible :avatar_url, :retained_avatar, :avatar
  attr_reader :id, :avatar_uid
4

1 回答 1

1

问题在于:avatar_uidattr_reader、attr_writer、attr_accessible 中的任何一个。

如果你的模型中有这个,它就会坏掉。假设任何带有 Dragonfly 的模型都不存在 *_uid 并且仅使用 user.avatar。

于 2012-07-21T05:00:52.590 回答