Ruby on rails 轨道&x2B;omniauth:检查基本信息

Ruby on rails 轨道&x2B;omniauth:检查基本信息,ruby-on-rails,ruby,facebook,authorization,omniauth,Ruby On Rails,Ruby,Facebook,Authorization,Omniauth,这是我授权后获取用户基本信息的代码: 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 这四个变量得到数据,因此它工作。 但是当我尝试基本信息.inspect命令时,我得到: “#” 为什么呢?它不应该转储所有的值吗?就像辛

这是我授权后获取用户基本信息的代码:

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
这四个变量得到数据,因此它工作。
但是当我尝试
基本信息.inspect
命令时,我得到:

“#”


为什么呢?它不应该转储所有的值吗?

就像辛格在他的评论中建议的那样,您应该使用
to_yaml
方法来查看嵌套哈希中的内容。我通常将以下代码放入适用的控制器中:

raise request.env['omniauth.auth'].to_yaml
现在,当尝试登录时,控制器只是呈现yaml

编辑:现在Rails4使用了更好的_错误gem,这种检查omniauth散列的方法不再有效。现在更好的方法是:

render :text => "<pre>" + env["omniauth.auth"].to_yaml and return
render:text=>“”+env[“omniauth.auth”]。到_yaml并返回

您是否尝试了
属性
方法或
查看所有值。。??