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哈希来研究不同大小的用户图像.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...