0

特定の期間の特定の企業の株価を表示する Ruby on Rails アプリを作成しています。私は次の宝石を使用します: chartkickgroupdateおよびstock_quote

私の Shema.db:

  create_table "companies", force: :cascade do |t|
    t.string   "symbol"
    t.datetime "current_date"
    t.float    "value"
    t.datetime "created_at",   null: false
    t.datetime "updated_at",   null: false
  end

データベースにseeds.rbを入力します:

Company.delete_all
d1 = Date.new(2014, 9, 1)
d2 = Date.new(2015, 9, 1)

stocks = StockQuote::Stock.history("aapl", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

stocks = StockQuote::Stock.history("tsla", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

stocks = StockQuote::Stock.history("yhoo", d1, d2)
stocks.each do |stock|
    company = Company.new
    company.symbol = stock.Symbol.to_s
    company.current_date = stock.Date
    company.value = stock.Volume
    company.save
end

コントローラーで:

  def show
    @company = Company.all
  end

show.html.erb にhttp://ankane.github.io/chartkick/のコードを入れました:

<div class="row">
  <div class="col-xs-12">
    <h3>Values By Day 2 years by companies</h3>
    <%= line_chart @company.group(:symbol).group_by_day(:current_date, format: "%B %d, %Y").count, discrete: true %>
  </div>
</div>

グラフは複数の線で構成され、グラフには 1 つの点しかありません

ここに画像の説明を入力

どうすればいいですか、変更、追加しますか???

4

1 に答える 1

0

この質問以降、APIを変更したのかもしれませんが、複数行のシリーズの例を示しています。http://chartkick.com/

<%= line_chart Feat.group(:goal_id).group_by_week(:created_at).count %>

だから試してみてください

<%= line_chart @company.group(:symbol).group_by_day(:current_date).count %>

current_dateの代わりに でグループ化しています:created_at。これはすべて同じ値に設定されています。

company.current_date = stock.Date

属性値のように見えないため、それが何を返すかはわかりません。undefined method Dateエラーが発生します。

于 2015-12-06T00:43:04.433 に答える