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

时间:2013-06-25 09:05:24

标签: ruby-on-rails facebook-graph-api omniauth

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

由于

1 个答案:

答案 0 :(得分:3)

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

我是这样做的:
image模型中添加User字段:

rails generate migration addImageToUsers image:string

添加attr_accessible列表。

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

user.image = auth.info.image

这是facebook存储用户形象的直接网址。

您可以inspect auth哈希来研究不同大小的用户图片。