Rails:Omniauth-twitter - 检索用户的图像和描述

时间:2014-08-11 13:10:55

标签: ruby-on-rails twitter oauth devise omniauth

我有一个rails应用程序,用户可以通过twitter登录/使用omniauth。 它返回uid和昵称的正确值,但我无法检索配置文件图像和用户描述。

以下是我的代码:

应用/模型/ user.rb

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

def self.new_with_session(params, session)
  if session["devise.user_attributes"]
    new(session["devise.user_attributes"]) do |user|
      user.attributes = params
      user.valid?
    end
  else
    super
  end

在我看来:

应用/视图/用户/ show.html.erb

<%= @user.name %> 
<%= @user.description %>
<%= image_tag @user.image %>

但它不会从用户的推特账号中提取价值。

我错过了什么?

2 个答案:

答案 0 :(得分:0)

您是否已尝试将auth.info打印到控制台(或使用调试器进行检查)以查看返回的内容?

答案 1 :(得分:0)

现在正在纠正,问题是我尝试使用同一个帐户,他已经通过Twitter登录了 - 所以新的omniauth参数如描述和图像没有更新。我再次尝试使用新的Twitter帐户,它完美无缺。