私は次のことをしようとしています:
index.html.erb
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<script>
$(function () {
var chart;
$(document).ready(function () {
chart = new Highcharts.Chart({
chart:{
renderTo:'container',
type:'column'
},
title:{
text:'<%= Date.today.strftime("%B")%> Overtime'
},
xAxis:{
categories:[
'<%= Date.today.strftime("%B")%>'
]
},
yAxis:{
min:0,
title:{
text:'Hours'
}
},
legend:{
layout:'vertical',
backgroundColor:'#FFFFFF',
align:'left',
verticalAlign:'top',
x:100,
y:70,
floating:true,
shadow:true
},
tooltip:{
formatter:function () {
return '' +
'Hours' + ': ' + this.y;
},
credits:{
text:'migroup-.co.uk',
hreft:'http://wwww.migroup.co.uk'
}
},
plotOptions:{
column:{
pointPadding:0.4,
borderWidth:0
}
},
series:[
<% @user.hospital_bookings.each do |hospital_booking| %>
{
name:'<%= hospital_booking.try(:name)%>',
data:[<%= hospital_booking.sum(&:overtime)%>
]
// color: '#8F8689',
},
<% end %>
{
name:'Total',
data: [<%= @hospital_bookings.to_a.sum(&:overtime)%>],
color:'#FE9D00'
}
]
});
});
});
</script>
controller.rb
defインデックス
@user = User.all
@hospital_bookings = HospitalBooking.scope
エンドエンド
私がやろうとしているのは、ユーザーごとに、予約を繰り返し、合計することovertime
です。
モデル
User.rb
has_many :hospital_bookings
Hospital_booking
belongs_to :user
これが効果的に行うことは、ユーザーを取得し、残業時間を合計することです。しかし、何らかの理由でこれは機能していません。私が現在持っているのは、フォワードのように見えるハイチャートです。
Imgur。各バーは、個別の病院の予約とその残業を表しています。ただし、そのユーザーの残業を合計したいと思います。つまり、事実上、ユーザーごとに1つのバーがあります。