这是我在授权后获取用户基本信息的代码:
basic_info = request.env['omniauth.auth'].extra.raw_info
first = basic_info.first_name
last = basic_info.last_name
email = basic_info.email
id = basic_info.id
四个变量获取数据,因此它起作用
但是当我尝试basic_info.inspect
命令时,我得到:
“#”
为什么?不应该转储所有的价值吗?
答案 0 :(得分:1)
就像辛格在评论中提到的那样,你应该使用to_yaml
方法来查看嵌套哈希哈希中的内容。我通常将以下代码放在适用的控制器中:
raise request.env['omniauth.auth'].to_yaml
现在,当尝试登录控制器时,只需渲染yaml。
编辑:现在Rails 4使用了better_errors gem,这种检查omniauth哈希的方法不再有效。现在更好的方法是:
render :text => "<pre>" + env["omniauth.auth"].to_yaml and return