我正在尝试使用这些代码从Twitter获取用户的个人资料头像
我知道如何修复此错误消息吗?
以下是我在用户助手中使用的内容
module UsersHelper
def twitteravatar_for(user, options = { size: 50 })
omniauth = request.env['omniauth.auth']
self.image = omniauth['info']['image'].sub("_normal", "_bigger")
gravatar_url = self.image
image_tag(gravatar_url, alt: user.name)
end
end
然后我试图在视图中使用它并拉出用户的个人头像
<%= link_to twitteravatar_for(feed_item.user), feed_item.user %>
是因为我不能在帮助器中使用request.env['omniauth.auth']
吗?
答案 0 :(得分:0)
链的一个值为零
request.env['omniauth.auth']['info']['image']
使用puts来确定哪一个
puts request.env['omniauth.auth']
例如,也许omniauth ['info'] ['image']为零,因为用户没有图像集?
答案 1 :(得分:0)
检查的好方法是
img = request.env.try('[]','omniauth.auth').try('[]','info').try('[]','image')
如果中间出现问题,答案是正确的img或nil。