Pregunta

Soy nuevo en el desarrollo de API y Backend en general y he estado intentando durante unas pocas horas para descubrir cómo hacer algo simple como llamar al precio actual del mercado de Bitcoin en My Rails.

Intenté referenciar http://blockchain.info/ticker con el siguiente código en mi modelo

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

y luego ponlo en mi vista

<%= @test %>

Sé que esto está muy lejos, pero estoy perdido y pensé que vería si alguien podría proporcionar un buen recurso o tal vez me pongo en la dirección correcta.Muchas gracias

¿Fue útil?

Solución

tio, todo está funcionando bien.

Reemplazar datos [0] ["CNY"] con datos ["CNY"] , eso es todo.

Para obtener más mango, ejecute estas líneas 1 por 1 en IRB,

igual que esto,

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}"

Otros consejos

Le recomendaría que use httparty que hace que el envío de solicitudes sea mucho más simple. Con respecto a su ejemplo, usted podría hacer

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

Obviamente, soy PP (imprimiendo) una cadena solo para mostrar los datos.En realidad, harías los datos en la vista, si tuviera que hacer una implementación real.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top