1

画像のアップロードには Dragonfly と Amazon s3 を使用しています。何らかの理由で写真をアップロードすると、Amazon の正しいフォルダに保存され、uid は正しいパスですが、表示されません!

正しいのに呼び出すたびにuser.avatarnilになります。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 のいずれかです。

モデルにそれがある場合、それは壊れます。*_uid が Dragonfly のどのモデルにも存在しないふりをして、user.avatar のみを使用します。

于 2012-07-21T05:00:52.590 に答える