Skip to content

Commit 2c76d4b

Browse files
committed
fix: eager load organisers on homepage events
Add missing :organisers include to Workshop, Meeting, and Event queries in DashboardController#upcoming_events to prevent N+1 queries when rendering the homepage.
1 parent cd866c3 commit 2c76d4b

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

app/controllers/dashboard_controller.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def about; end
3333
def wall_of_fame
3434
@coaches_count = top_coach_query.length
3535
coaches = Member.where(id: top_coach_query
36-
.year(year_param))
36+
.year(year_param))
3737
.includes(:skills)
3838
@pagy, @coaches = pagy(coaches, items: 80)
3939
end
@@ -55,20 +55,20 @@ def top_coach_query
5555
end
5656

5757
def upcoming_events
58-
workshops = Workshop.upcoming.includes(:chapter, :sponsors)
58+
workshops = Workshop.upcoming.includes(:chapter, :sponsors, :organisers)
5959
all_events(workshops).sort_by(&:date_and_time).group_by(&:date)
6060
end
6161

6262
def upcoming_events_for_user
6363
chapter_workshops = Workshop.upcoming
6464
.where(chapter: current_user.chapters)
65-
.includes(:chapter, :sponsors)
65+
.includes(:chapter, :sponsors, :organisers)
6666
.to_a
6767

6868
accepted_workshops = current_user.workshop_invitations.accepted
6969
.joins(:workshop)
7070
.merge(Workshop.upcoming)
71-
.includes(workshop: %i[chapter sponsors])
71+
.includes(workshop: %i[chapter sponsors organisers])
7272
.map(&:workshop)
7373

7474
all_events(chapter_workshops + accepted_workshops)
@@ -77,8 +77,8 @@ def upcoming_events_for_user
7777
end
7878

7979
def all_events(workshops)
80-
meeting = Meeting.includes(:venue).next
81-
events = Event.includes(:venue, :sponsors).upcoming.take(DEFAULT_UPCOMING_EVENTS)
80+
meeting = Meeting.includes(:venue, :organisers).next
81+
events = Event.includes(:venue, :sponsors, :organisers).upcoming.take(DEFAULT_UPCOMING_EVENTS)
8282

8383
[*workshops, *events, meeting].uniq.compact
8484
end

0 commit comments

Comments
 (0)