Morris.jsライブラリを使用してグラフを作成する際にいくつか問題があります。私はスポーツアプリを作成し、すべてのトレーニングにはいくつかの価値があります。そのうちの1つは「トレーニング」です。トレーニングのタイプ(「ランニング」、「スイミング」、「サイクリング」)を意味します。私は日付と距離の折れ線グラフを表示したいが、具体的な訓練の種類は例えば"実行中"とする。私はすべての日付と距離の一般的なグラフを作成しましたが、特定のタイプのグラフを作成しようとすると、適切なものは表示されませんが、毎日のすべての走行距離の合計(横線)でグラフ化されます。 Workout.where(ワークアウト: "実行")私はworkouts_helper.rb 距離にラインを修正する方法がわからない。合計(:距離)Morris.js特定のタイプのグラフを作成する方法
workouts_helper.rb:
def running_chart_data
(3.weeks.ago.to_date..Date.today).map do |date|
{
date: date,
distance: Workout.where(workout: "Running").sum(:distance)
}
end
end
application.html.erb:
<script>
new Morris.Line({
element: 'running_chart',
resize: true,
data: $('#running_chart').data('running'),
xkey: 'date',
ykeys: ['distance'],
labels: ['Distance']
});
</script>
index.html.erb:
<h1>Last 3 weeks running graph</h1>
<%= content_tag :div, "", id: "running_chart", data: {running: running_chart_data} %>
「距離」を、私の列があります。私はヘルパーコードを変更しましたが、私は水平線を得るたびに毎日「走っている」距離の合計を持っています。 – Morgan
私が追加した最後の例を参照してください...あなたの問題かもしれないと思う。 – dinjas
あなたはロックディンジャー;)私は過去の日付のトレーニングを追加するときに、いつも実際の日付までの距離を加算するので、 "created_at"を "date"に変更する必要がありますが、それは問題ではありませんでした。ご協力ありがとうございます :) – Morgan