質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

877閲覧

Ruby : chart.jsを使いDBのデータをグラフへ反映したい

hirokazu.nakao

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/04/29 13:48

前提・実現したいこと

初学者です。railsにて、MySQLのデータをグラフに反映させたいです。
chart.jsを使いグラフの表示までは辿り着いたのですが、意図した挙動にならないため困っております。
お恥ずかしい限りではございますがお力添えを頂きたく投稿させて頂きました。
何卒、よろしくお願いします!

実現したい実装
①1週間毎のグラフを表示する
②MySQLに保存されている日付とグラフを連動したい

■発生している問題・エラーメッセージ
MySQLに保存されているデータが日時と関係無く反映されている
・MySQLデータには「4月15日/4月16日/4月27日/4月28日」分の入力データが格納されている
→グラフには、4月12日(月)〜4月16日(金)の1週間表示で、15日と16日のデータのみグラフに反映したい。
→現状は、グラフに「15日/16日/27日/28日」のデータが反映されている状態

■グラフの状態
https://gyazo.com/71eea3968b0e9ec5381c76d7f5b78b97
■MySQLデータ状況
https://gyazo.com/f9718526632e22f3d3dd8b171c6e9d62

該当のソースコード

Ruby

1□ビュー【record/index.html.erb】□ 2<div class="main-record"> 3 <div class="record-post"> 4 <h2><%= link_to "新規で記録する", new_record_path ,class: :font %></h2><br /> 5 6 <h2><%= "#{current_user.nickname}さんの練習記録" %></h2> 7 8 <div class="record_bar"> 9 <canvas id="myBarChart" width="1000" height="500"></canvas> 10 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> 11 <script> 12 var ctx = document.getElementById("myBarChart"); 13 var myBarChart = new Chart(ctx, { 14 type: 'bar', 15 data: { 16 labels: ['4月1日', '4月2日', '4月3日', '4月4日', '4月5日', '4月6日', '4月7日'], 17 datasets: [ 18 { 19 label: '練習時間', 20 data: gon.practice_time, 21 backgroundColor: "rgb(175,238,238)" 22 } 23 ] 24 }, 25 options: { 26 title: { 27 display: true, 28 text: '練習時間' 29 }, 30 scales: { 31 scales: { 32 xAxes: [{ 33 type: 'time', 34 time: { 35 unit: 'day' 36 } 37 }] 38 }, 39 }, 40 } 41 }); 42 </script> 43 </div> 44</div>

Ruby

1□ コントローラー【records_controller.rb】□ 2class RecordsController < ApplicationController 3 def index 4 gon.created_at = Record.pluck(:created_at) 5 gon.practice_time = Record.pluck(:practice_time) 6 end 7 8 def new 9 @record = Record.new 10 end 11 12 def create 13 @record = Record.new(record_params) 14 if @record.save 15 redirect_to records_path 16 else 17 render :new 18 end 19 end 20 21 private 22 def record_params 23 params.require(:record).permit(:practice_time, :ball, :content, :created_at,check:[]).merge(user_id: current_user.id) 24 end 25end

Ruby

1□ルーティング(routes.rb)□ 2Rails.application.routes.draw do 3 devise_for :users, controllers: { registrations: 'users/registrations', sessions: 'users/sessions'} 4 root 'tops#index' 5 resources :records, only: [:index, :new, :create, :show] 6 resources :articles do 7 resources :comments, only: :create 8 end 9 resources :users, only: :show 10end

試したこと

①ビューに表示出来るかの確認(以下記述でデータの取得及びビューへの表示は出来ました)
→表示出来たデータをグラフに反映する方法が中々見つからない状況です。
「前提・実現したい事」に記述している挙動にするための知識が不足しているため、参考となる記事や記述があれば教えて欲しいです。

□ コントローラー【records_controller.rb】□ 〜省略〜 def index @record = Record.all 〜省略〜 end

Ruby

1□ビュー【record/index.html.erb】□ 2〜省略〜 3<% @record.each do |record| %> 4 <%= record.created_at %> 5 <%= record.practice_time %> 6<% end %> 7〜省略〜

補足情報(FW/ツールのバージョンなど)

・rails:6.0.0
・SequelPro:5.6.51

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問