2014-01-09 2 views
0

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

Я попытался ссылки http://blockchain.info/ticker со следующим кодом в моей модели

require 'rest-client' 
require 'json' 

base_url = "http://blockchain.info/ticker" 
response = RestClient.get base_url 
data = JSON.load response 
cool = data[0]["CNY"] 
@test = JSON.pretty_generate cool 

, а затем положить это на мой взгляд

<%= @test %> 

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

ответ

1

Чувак, его все работает хорошо.

Заменить данные [0] ["CNY"] с данными ["CNY"], вот и все.

Чтобы получить больше ручку, выполнять эти строки с 1 по 1 в IRB,

Так же, как это,

1.9.3p385 :001 > require 'rest-client' 
=> true 
1.9.3p385 :002 > require 'json' 
=> true 

1.9.3p385 :004 > base_url = "http://blockchain.info/ticker" 
=> "http://blockchain.info/ticker" 

1.9.3p385 :005 > response = RestClient.get base_url 

1.9.3p385 :006 > data = JSON.load response 

1.9.3p385 :007 > cool = data["CNY"] 
=> {"15m"=>5519.13613, "last"=>5519.13613, "buy"=>5578.16433, "sell"=>5853.54832, "24h"=>5616.47, "symbol"=>"¥"} 

1.9.3p385 :008 > @test = JSON.pretty_generate cool 
=> "{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}" 

1.9.3p385 :009 > p @test 
"{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}" 
=> "{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}" 
0

Я бы порекомендовал вам использовать httparty что делает отправку запросов гораздо проще. Что касается вашего примера, вы могли бы сделать

require 'httparty' 
require 'json' 

base_url = "http://blockchain.info/ticker" 
response = HTTParty.get(base_url) 
data = JSON.parse(response.body) 
data.each_pair do |ticker, stats| 
    pp "Ticker: #{ticker} - 15m: #{stats['15m']}" 
end 

Очевидно я с (печать) из строки только для отображения данных. Вы бы действительно визуализировали данные в представлении, если бы вы выполнили реальную реализацию.