如何将简单的比特币API集成到Rails应用程序中

时间:2014-01-09 03:59:57

标签: ruby-on-rails json api bitcoin

我是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 %>

我知道这已经过时了但是我不知所措并且认为我会看到有人能提供一个好的资源或者让我朝着正确的方向前进。非常感谢

2 个答案:

答案 0 :(得分:1)

老兄,这一切都很好。

用数据[“CNY”] 替换数据[0] [“CNY”],这就是全部。

要获得更多处理,请在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}"

答案 1 :(得分: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

显然我只是用pp(打印)字符串来显示数据。如果你要进行真正的实现,你实际上会在视图中呈现数据。