如何在解析的JSON响应中保存这些嵌套值

时间:2013-03-25 19:28:50

标签: ruby-on-rails ruby json omniauth

使用Omniauth,我在使用oauth2的自定义策略中有以下内容,但只有uid被选中并稍后保存在用户记录中。信息块中的emailname即将出现为nil,尽管我的信息块有什么问题?

Omniauth Strategy.rb

  uid do
    raw_info["user"]["uid"]
  end

  info do
    {
      email: raw_info["user"]["email"],
      name: raw_info["user"]["name"]
    }
  end

  def raw_info
    @raw_info ||= access_token.get('/api/v1/user').parsed
  end

JSON响应:

{
   user: {
      uid: 1,
      email: "testusera1@example.net",
      name: null
},

1 个答案:

答案 0 :(得分:0)

没关系,这似乎有效。