Help us understand the problem. What is going on with this article?

外部APIから取得した予想気温データをチャート表示

More than 3 years have passed since last update.

■追加したGem
chartkick
googlecharts

■Model

temp_forecast.rb
require 'open-uri'
require 'json'

class TempForecast < ActiveRecord::Base
  def self.get_demo_data
    response = open('http://api.openweathermap.org/data/2.5/forecast?q=Tokyo&units=metric&appid=')
    #今回は東京の5日間の気温予測データを扱う
    #appidはログインして取得
    #openで取得してきたデータをresponseに突っ込む
    data = response.read
    #responseのデータを読みだし、dataに突っ込む
    json = JSON.parse(data)
    #JSONデータ・フォーマットにして、jsonに突っ込む
    temp_tbl = []
    #チャート表示用テーブルをつくる
    json["list"].each do |hash|
    #jsonからそのままデータを読もうとすると、冒頭のいらない位置情報がついてくるので、
    #肝心の温度データがあるlistを読む
    #.eachでjsonを頭からケツまで読む
      temp_tbl << [hash['dt_txt'], hash['main']['temp']]
    #さっき作ったtemp_tblに格納する
    #その際に、チャートに出したいdt_txt、tempを指定する
    #mainがtempについてるのは、tempがmainの下に入っているから
    end
    temp_tbl
    #チャート表示用テーブルに格納したデータを返す
  end
end

■Controller

temp_controller
...
  def home
    @chart_data = TempForecast.get_demo_data
  end
...

■View

home.html.erb
...
  <div class="col-xs-6">
  <%= line_chart @chart_data %>
  <!--棒グラフ(Line chart)を使う場合は、日時フォーマットのデータが入っていないと正しく表示されない-->
  </div>
...
Masalt
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした