Devise + omniauth + carrierwave不保存facebook个人资料图片

时间:2013-11-08 21:29:24

标签: ruby-on-rails authentication devise omniauth carrierwave

我正在使用omniauth facebook的设计。我通过avatarUploader上传没有使用带有carrierwave的facebook登录的用户的头像。

但是,当我尝试从Facebook用户提取头像时,它无法保存 - user.avatar = auth.info.image无法保存,并且在登录后等于nil

为什么会这样,我该如何解决?提前谢谢。

  def self.from_omniauth(auth)
    where(auth.slice(:provider, :uid)).first_or_create do |user|
      user.provider = auth.provider
      user.uid = auth.uid
      user.email = auth.info.email
      user.avatar = auth.info.image
    end
  end

1 个答案:

答案 0 :(得分:8)

您是否尝试过this

在您的方法中,更改行

user.avatar = auth.info.image

user.remote_avatar_url = auth.info.image