From 111fe834521340978ea73d32e99cb2b8a4d1da5a Mon Sep 17 00:00:00 2001 From: James Mason Date: Tue, 25 Sep 2018 17:10:18 -0700 Subject: [PATCH] Reduce queries required for schedule. --- app/controllers/admin/schedules_controller.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin/schedules_controller.rb b/app/controllers/admin/schedules_controller.rb index 62c87d78..b25b17da 100644 --- a/app/controllers/admin/schedules_controller.rb +++ b/app/controllers/admin/schedules_controller.rb @@ -31,7 +31,15 @@ module Admin end def show - @event_schedules = @schedule.event_schedules + @event_schedules = @schedule.event_schedules.eager_load( + room: :tracks, + event: [ + :difficulty_level, + :track, + :event_type, + event_users: :user + ] + ) if @schedule.track track = @schedule.track @@ -42,10 +50,7 @@ module Admin @program.tracks.self_organized.confirmed.each do |t| @event_schedules += t.selected_schedule.event_schedules if t.selected_schedule end - self_organized_tracks_events = @program.tracks.self_organized.confirmed.map do |t| - t.events.confirmed - end - self_organized_tracks_events.flatten.compact! + self_organized_tracks_events = Event.eager_load(event_users: :user).confirmed.where(track: @program.tracks.self_organized.confirmed) @unscheduled_events = @program.events.confirmed - @schedule.events - self_organized_tracks_events @dates = @conference.start_date..@conference.end_date @rooms = @conference.venue.rooms if @conference.venue