★基本的には先駆者の方のサイトを見れば大半はできます!
ほぼ出来ていると思うんですが、中々グラフが表示されなかったので、メモとして残します。
↓↓↓素敵な先駆者のサイトはこちら(いつもめっちゃわかりやすくて助かってます!!!)↓↓↓
但し、記述を丸パクリしてもグラフが出現せず
こんな感じにしたいのに、、、otz
gemのインストールは間違っていないと思ったので、怪しいなぁーって思っていた
「application.js」ファイルで検索をかけたところ、、、
import Chart from 'chart.js/auto';
import jQuery from "jquery"
global.$ = jQuery;
window.$ = jQuery;
global.Chart = Chart;
これを追記したら動きました♪
ちなみに、、、グラフの記述はこんな感じです!
book.rb
scope :created_today, -> { where(created_at: Time.zone.now.all_day) }
scope :created_yesterday, -> { where(created_at: 1.day.ago.all_day) }
scope :created_2days, -> { where(created_at: 2.days.ago.all_day) }
scope :created_3days, -> { where(created_at: 3.days.ago.all_day) }
scope :created_4days, -> { where(created_at: 4.days.ago.all_day) }
scope :created_5days, -> { where(created_at: 5.days.ago.all_day) }
scope :created_6days, -> { where(created_at: 6.days.ago.all_day) }
scope :created_this_week, -> { where(created_at: 6.day.ago.beginning_of_day..Time.zone.now.end_of_day) }
scope :created_last_week, -> { where(created_at: 2.week.ago.beginning_of_day..1.week.ago.end_of_day) }
↓↓↓イケメン風に描きたい人向け↓↓↓(僕はブサ面の小心者の初心者なのでこのままです。。。)
show.html
<canvas id="myLineChart"></canvas>
<script>
$(document).on('turbolinks:load', function() {
var ctx = document.getElementById("myLineChart");
var myLineChart = new Chart(ctx, {
type: 'line',
data: {
labels: ['6日前', '5日前', '4日前', '3日前', '2日前', '1日前', '今日'],
datasets: [
{
label: '投稿した本の数',
data: [
<%= @books.created_6days.count %>,
<%= @books.created_5days.count %>,
<%= @books.created_4days.count %>,
<%= @books.created_3days.count %>,
<%= @books.created_2days.count %>,
<%= @books.created_yesterday.count %>,
<%= @books.created_today.count %>
],
borderColor: "rgba(0,0,255,1)",
backgroundColor: "rgba(0,0,0,0)",
tension: 0.4
}
],
},
options: {
title: {
display: true,
text: '7日間の投稿数の比較'
},
responsive: true,
scales: {
y:{
suggestedMin: 0,
suggestedMax: 10
},
x:{
stacked: true
},
},
}
});
});
</script>