微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 使用Omniauth-Facebook Gem添加个人资料图片的最简单方法是什么?

我正在使用带有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 %>

谢谢

解决方法

这很简单.而且您不需要在服务器上存储图像.你可以简单地从Facebook上获取它.

我是这样做的:
用户模型中添加图像字段:

rails generate migration addImagetoUsers image:string

添加attr_accessible列表.

然后在上面的方法中,为图片添加以下列表:

user.image = auth.info.image

这是facebook存储用户图像的直接网址.

您可以检查您的auth哈希来研究不同大小的用户图像.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐