質問編集履歴

1

view部分のソースコード追記

2019/11/07 09:31

投稿

jooooz_jjj
jooooz_jjj

スコア4

test CHANGED
File without changes
test CHANGED
@@ -53,3 +53,125 @@
53
53
  end
54
54
 
55
55
  end
56
+
57
+
58
+
59
+ ## 以下view画面のソースコードになります。
60
+
61
+
62
+
63
+ <%= render 'layouts/users_header'%>
64
+
65
+
66
+
67
+ <div class="container chart-box">
68
+
69
+
70
+
71
+ <div class="row">
72
+
73
+ <div class="col-md-4 col-md-offset-4 measurement-logo">
74
+
75
+ <h1>CALORIE GRAPH</h1>
76
+
77
+ <span class="moji">カロリーグラフ</span>
78
+
79
+ </div>
80
+
81
+ </div>
82
+
83
+
84
+
85
+ <div class="calories-burned">
86
+
87
+ <h2 class="graphsum"><%= current_user.nickname%>さんの今月の合計消費カロリーは<%= @results.inject(0) { |sum, num| sum + num } %>(kcal)です。</h2>
88
+
89
+ </div>
90
+
91
+
92
+
93
+ <canvas id="myChart"></canvas>
94
+
95
+
96
+
97
+ <%= link_to "戻る", user_path(current_user) , class:"btn btn-success btn-lg graphback" %>
98
+
99
+ </div>
100
+
101
+
102
+
103
+ <script>
104
+
105
+ //maxの数字を上限値にランダムな数字を生成する関数
106
+
107
+ function getRandomInt(max){
108
+
109
+ return Math.floor(Math.random()* Math.floor(max));
110
+
111
+ }
112
+
113
+
114
+
115
+ //dayという配列を生成 [日付]
116
+
117
+ var day = new Array();
118
+
119
+ //valueという配列を生成 [カロリー]
120
+
121
+ var calorie = new Array();
122
+
123
+
124
+
125
+ for (var i = 1; i < 31; i++){
126
+
127
+ day[i] = i+'日';
128
+
129
+ // calorie[i] = getRandomInt(1000);
130
+
131
+ }
132
+
133
+ // console.log(day);
134
+
135
+
136
+
137
+ var ctx = document.getElementById('myChart').getContext('2d');
138
+
139
+ var chart = new Chart(ctx, {
140
+
141
+ // The type of chart we want to create
142
+
143
+ type: 'line',
144
+
145
+ // The data for our dataset
146
+
147
+ data: {
148
+
149
+ labels: day, //X軸の月表示
150
+
151
+ datasets: [{
152
+
153
+ label: '日別消費カロリー', //
154
+
155
+ backgroundColor: '#69A534',
156
+
157
+ borderColor: '#69A534',
158
+
159
+ data: <%= @results %>, //月の登録した消費カロリーをグラフ表示「
160
+
161
+ lineTension: 0, //ベジェ曲線の張り具合。 0(ゼロ)を指定すると直線になる。 0.1、0.2、・・・など増やしていくと曲がり具合が変わる。
162
+
163
+ fill: false, //線の下側の領域に色を塗るか否かの指定。 false で無色になる。
164
+
165
+ borderWidth: 3 //線の太さ。
166
+
167
+ }]
168
+
169
+ },
170
+
171
+ options: {}
172
+
173
+ });
174
+
175
+
176
+
177
+ </script>