我正在使用带有Rails的Omniauth Facebook Gem,需要为我的应用程序选择每个用户的个人资料。
是否像使用Gem从facebook检索用户名一样简单,还是需要上传到Amazon S3服务器等?
我的用户模型:
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.oauth_token = auth.credentials.token
user.oauth_expires_at = Time.at(auth.credentials.expires_at)
user.save!
end
无法找到明确的答案。
更新: 在我的展示页面中,它只显示网址:
<b>IMAGE:</b> <%= @user.image %>
由于
答案 0 :(得分:3)
这很简单。而且您不需要在服务器上存储图像。你可以简单地从Facebook上获取它。
我是这样做的:
在image
模型中添加User
字段:
rails generate migration addImageToUsers image:string
添加attr_accessible
列表。
然后在上面的方法中,为图片添加以下列表:
user.image = auth.info.image
这是facebook存储用户形象的直接网址。
您可以inspect
auth
哈希来研究不同大小的用户图片。