Question

Je suis nouveau dans l'API et le développement du backend en général et essayez quelques heures maintenant pour savoir comment faire quelque chose de simple comme appelez le prix du marché bitcoin actuel dans l'application My Rails.

J'ai essayé de référencer http://blockchaain.info/Ticker avec le code suivant dans mon modèle

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

puis mettez ceci à mon avis

<%= @test %>

Je sais que cela est loin, mais je suis à perte et que je voyais, je verrais que si quelqu'un pouvait offrir une bonne ressource ou peut-être me faire passer dans la bonne direction.Merci beaucoup

Était-ce utile?

La solution

mec, tout va bien.

Remplacer les données [0] ["CNY"] avec des données ["CNY"] , c'est tout.

Pour obtenir plus de poignée, exécutez ces lignes 1 par 1 en IRB,

comme ça,

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

Autres conseils

Je vous recommanderais d'utiliser httparty qui rend l'envoi de demandes beaucoup plus simple. En ce qui concerne votre exemple, vous pourriez faire

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

évidemment je suis pp (impression) une chaîne juste pour afficher les données.Vous alliez réellement rendre les données dans la vue si vous deviez effectuer une réelle implémentation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top