json.current_attendance @current_attendance do |attendance| json.(attendance, :id, :normal_count, :all_count) json.attendance_date attendance.attendance_date.strftime("%Y/%m/%d") json.start_time attendance.start_time.strftime("%H:%M") json.end_time attendance.end_time.strftime("%H:%M") end all_normal_rate = [] all_absence_rate = [] json.history_attendances @history_attendances.each_with_index.to_a do |attendance, index| normal_count = history_member_count(@all_member_attendances, "NORMAL", attendance.id) absence_count = history_member_count(@all_member_attendances, "ABSENCE", attendance.id) all_count = @all_member_attendances.select{|member_attendance| member_attendance.course_attendance_id == attendance.id}.size json.index index + 1 json.normal_rate cal_rate(normal_count, all_count) all_normal_rate << cal_rate(normal_count, all_count) json.absence_rate cal_rate(absence_count, all_count) all_absence_rate << cal_rate(absence_count, all_count) end json.all_history_count @all_history_count json.avg_normal_rate @all_history_count == 0 ? 0 : all_normal_rate.sum / @all_history_count json.avg_absence_rate @all_history_count == 0 ? 0 : all_absence_rate.sum / @all_history_count