【问题标题】:rails + omniauth: inspect basic inforails + omniauth:检查基本信息
【发布时间】:2012-11-03 13:59:04
【问题描述】:

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

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 命令时,我得到:

“#”

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

【问题讨论】:

  • 您是否尝试过attributes 方法或to_yaml 来查看所有值..??

标签: ruby-on-rails ruby facebook authorization omniauth


【解决方案1】:

就像 Singh 在他的评论中建议的那样,您应该使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    相关资源
    最近更新 更多