現在行っている予約ごとではなく、ユーザーごとsum
の残業時間を取得しようとしています: Imgur
コントローラ
def index
@users = User.all
@hospital_bookings = HospitalBooking.scoped
end
end
Index.html.erb
<%@users.each do |user|%>
<% user.hospital_bookings.each do |hospital_booking| %>
{
name:'<%= hospital_booking.user.try(:name)%>',
data:[<%= @hospital_bookings.where(:user_id =>
hospital_booking.user.id).all.sum(&:overtime)%>]
},
<% end %>
<% end %>
モデル
#User.rb
has_many :hospital_bookings
#hospital_booking
belongs_to :user
スキーマ.rb
create_table "hospital_bookings", :force => true do |t|
t.string "booking_reference"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "hospital_id"
t.integer "user_id"
t.date "day"
t.string "shift_type"
t.decimal "overtime", :precision => 10, :scale => 0
end
以下を試しましたが、どちらもうまくいかないようです。
**Attempt1**
<%= @hospital_bookings.where(:user_id => user.id, :hospital_booking =>
hospital_id ).all.sum(&:overtime)%>
**Attempt2**
<%= HospitalBooking.where(user_id: user.id,
hospital_id: hospital.id).sum(:overtime) %>