5

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

谢谢

4

1 回答 1

3

做起来很简单。而且您不需要在服务器上存储图像。您可以简单地从 facebook 获取它。

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

rails generate migration addImageToUsers image:string

添加它attr_accessible列表。

然后在您的上述方法中,为图像添加以下列表:

user.image = auth.info.image

这是 facebook 存储用户图像的直接 url。

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

于 2013-06-25T09:18:35.180 回答