2013-10-10 5 views
0

Я выполняю внешний API-запрос с использованием HTTParty, результатом этого запроса является хэш, который хранится в переменной экземпляра в моем контроллере. Не сохраняя его в моей базе данных, мне нужно получить доступ к содержимому хэша, чтобы отправить его в виде строки в другое внешнее приложение.Как получить доступ к хеш-значению, хранящемуся в локальной переменной

Вот мой контроллер 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

Можете ли вы уточнить, что такое ваша проблема? вы хотите преобразовать хеш в строку? – usha

+0

Да, Vimsha, тогда мне нужно передать эту строку и внешнее приложение. Моя проблема в том, что я не могу понять, как получить содержимое хэша и сделать его доступным для другого внешнего приложения. – Jax

ответ

1

Вы получаете доступ к значениям в хеше, используя квадратные скобки, окружающие хэш-ключ. Например, чтобы получить доступ к reg из этого ответа, вы могли бы сделать:

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

Это все, что вы ищете, или же вам нужно сделать что-то еще с ним?

+0

приветствует ответ, мне нужно получить доступ к информации и передать ее внешнему приложению, которое принимает только строки. так как я могу преобразовать его в строку ... – Jax

+0

В соответствии с вашим описанием это даст вам строку. Или вы хотите, чтобы вы кодировали весь ответ в виде строки? Какой формат занимает внешнее приложение? JSON? –

+0

Мне нужно передать информацию во внешнее приложение внутри этого хеша config.user.custom_data = { "phone_number" =>: phone_number, "адрес" =>: адрес, "comments" =>: комментарии, " reg_number "=>: reg_number, } Я хочу, чтобы передать информацию из хеша api_response как это:« make »=>« ford »,« Doors »=>« 4 », – Jax

Смежные вопросы