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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1556閲覧

chart.jsでグラフが表示されない。

taketa

総合スコア13

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/04/15 05:29

ビューにchart.jsを使って、ユーザーが入力した情報のグラフを表示させたいのですが表示されません。データベースに情報は保存されているのですが、binding.pryで確かめてみたところ、情報が取り出せていないようです。
###show.html.erb

<div class="chart"> <h1>日々の経過</h1> <div class="chart-main"> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script> <canvas id="line-chart" width="400" height="400"></canvas> <script> <!-- var context = document.getElementById('line-chart').getContext('2d'); var line_chart = new Chart(context, { type:'line', // グラフのタイプを指定 data:{ labels:<%= @date %>, // グラフ下部のラベル datasets:[ {label:'体重の推移', data:<%= @data %>, // グラフ化するデータの数値 fill:false, borderColor:'rgb(54, 162, 235)'} ] }, options:{ scales:{ yAxes:[{ ticks:{ min:30, max: 100 } }] }, elements:{ line:{ tension: 0 } } } }); //--> </script> </div> <a href="/diet">体重を入力する</a> </div>

###diet_controller.rb

class DietController < ApplicationController def index end def show @date = params[:date] @data = params[:data] end def create Diet.create( date: params[:date], data: params[:data], percentage: params[:percentage]) end end

なぜDBに格納されている情報が取り出せないのでしょうか?
どこが間違っているのかご教授お願いします!
もしよろしければ解決方法も教えてください!

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

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

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

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

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

guest

回答1

0

ベストアンサー

Diet モデルからデータが引けるのだとすれば params[:data]@data にセットするのではなく、Diet モデルから取得した値(=DBに格納されている情報)を、グラフ用に変換して @data にセットしないといけないように見えます。

投稿2019/04/15 07:12

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

taketa

2019/04/15 08:57

def show @date = Diet.select("date") @data = Diet.select("data") end showメソッドでモデルから取り出せるようにしてみました! 取り出せるものの、グラフには反映されません。。
退会済みユーザー

退会済みユーザー

2019/04/16 01:24 編集

1. @data や @date にそれぞれ生の値を設定し、どのようなデータ形式にしておけばグラフが正しく出るのかを確認する 2. 次にDBから取得した値を1で把握した形式に変換する というように切り分けて順番に解決していった方がよいように思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問