前提・実現したいこと
chartkickを使用して複数の折れ線グラフを表示する
発生している問題・エラーメッセージ
カラム別にそれそれを表示させたいが、現状は、DBのレコードの数をグラフにしている。 例)2020-12-20の日付のレコードが3つDBに存在していれば、3 として認識している
該当のソースコード
ruby
1class ChartsController < ApplicationController 2 before_action :authenticate_user! 3 before_action :configure_permitted_parameters, if: :devise_controller? 4 def new 5 @chart = Chart.new 6 end 7 8 def index 9 @chart = Chart.all 10 end 11 12 def create 13 @chart = Chart.new(chart_params) 14 if @chart.save 15 redirect_to charts_path 16 else 17 render :new 18 end 19 end 20 21 private 22 def chart_params 23 params.require(:chart).permit(:body_weight, :bench_press, :deadlift, :squat).merge(user_id: current_user.id) 24 end 25end 26
ruby
1<div class="main"> 2 <div class="graph"> 3 4 <%# <%この記述だとレコードの数を数えてしまう%> %> 5 <%= line_chart Chart.group_by_day(:created_at).count %> 6 <%= line_chart @chart.group_by_day(:created_at),xtitle: "月/日",ytitle: "重量"%> 7 <%# <%この記述だとレコードの数を数えてしまう%> %> 8 9 </div> 10 11</div> 12 13<%# <%公式の書式%> %> 14<%= line_chart @chart.map { |goal| 15 {name: goal.name, data: goal.feats.group_by_week(:created_at).count} 16} %> 17<%# <%公式の書式%> %> 18
試したこと
DBにはきちんと保存できている。
DBの取得を @body_weight = Chart.select(:body_weight)などカラム別に定義したが
うまく表示できなかった。
DBの取得、ビューファイルの記述方法、ご教授いただければ幸いです。
補足情報(FW/ツールのバージョンなど)
公式サイト
https://chartkick.com/
「カラム別に定義したがうまく表示できなかった」というのは、どういう現象が起きたことを意味していますか?
t.integer :body_weight, null: false
t.integer :bench_press, null: false
t.integer :deadlift, null: false
t.integer :squat, null: false
グラフに表示させたいのが上記の4つになります。
コントローラー
@body_weight = Chart.select(:body_weight)
ビュー
<%= line_chart Chart.group_by_day(:created_at).count %>
で参照すると表示はされるが、カラムの値通りではなく、どのデータを参照しているかわからない状態です。
回答1件
あなたの回答
tips
プレビュー