如何访问存储在局部变量中的哈希值

时间:2013-10-10 15:13:08

标签: ruby-on-rails ruby hash

我正在使用HTTParty进行外部API查询,该查询的结果是存储在我的控制器中的实例变量中的哈希。在不将其保存到我的数据库的情况下,我需要访问哈希的内容,将其作为字符串发送到另一个外部应用程序。

这是我的控制器HTTParty调用

@api_response = HTTParty.get("http://xxxxxxxxx.xx/vehicle/reg/#{@user.reg_number}/xxxxxxxxxxxxxxxxxxxxx")

以下是我得到的响应,存储在@api_response中:

 {"response"=>
         {"basic"=>
              {"reg"=>"xxx", "make"=>"xxxx", "model"=>"xxxx", "version"=>"xxxxx", "body"=>"xxxxxx", "doors"=>"x", "reg_date"=>"xxxxxx", "engine_cc"=>"xxxxxx", "colour"=>"xxxxx", "fuel"=>"xxxxxx", "transmission"=>"x", "data_type"=>"x", "co2_emissions"=>"xxx"}
         }
}

因为它是我能够在我的视图中显示@api_response的内容,但我需要检索信息并将其传递。

1 个答案:

答案 0 :(得分:1)

使用围绕哈希键的方括号访问哈希值。例如,要从该响应中访问reg,您可以执行以下操作:

@api_response["response"]["basic"]["reg"]

这就是你要找的全部,还是你需要用它来做其他事情?