我有一个rails应用程序,用户可以通过twitter注册/登录。它为uid和昵称返回正确的值,但我无法检索配置文件图像和用户描述。
下面是关于我的代码的更多信息:
app/models/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我认为:
app/views/users/show.html.erb
<%= @user.name %>
<%= @user.description %>
<%= image_tag @user.image %>但它不会呈现用户twitter帐户的价值。
我遗漏了什么?
发布于 2014-08-11 13:55:56
您是否已经尝试过将auth.info打印到控制台(或使用调试器检查它)以查看返回了什么?
发布于 2014-08-11 14:16:11
它正在进行修正,问题是我正在尝试使用同一个帐户,他们已经通过twitter登录了--所以新的杂食参数,比如描述和图像,在没有更新的地方。我再次尝试使用一个新的twitter帐户,它运行得非常完美。
https://stackoverflow.com/questions/25244097
复制相似问题