diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 593595814..258bffc1a 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -64,7 +64,8 @@ class BoardsController < ApplicationController end def show_columns - set_page_and_extract_portion_from @board.cards.awaiting_triage.latest.with_golden_first + cards = @board.cards.awaiting_triage.latest.with_golden_first.preloaded + set_page_and_extract_portion_from cards fresh_when etag: [ @board, @page.records, @user_filtering ] end diff --git a/app/models/card.rb b/app/models/card.rb index 51b548c19..5b3468642 100644 --- a/app/models/card.rb +++ b/app/models/card.rb @@ -19,6 +19,8 @@ class Card < ApplicationRecord scope :reverse_chronologically, -> { order created_at: :desc, id: :desc } scope :chronologically, -> { order created_at: :asc, id: :asc } scope :latest, -> { order last_active_at: :desc, id: :desc } + scope :with_users, -> { preload(creator: [:avatar_attachment, :account], assignees: [:avatar_attachment, :account]) } + scope :preloaded, -> { with_users.preload(:board, :column, :tags, :steps, :closure, :not_now, :goldness, :activity_spike) } scope :indexed_by, ->(index) do case index diff --git a/app/models/card/golden.rb b/app/models/card/golden.rb index 4f2f52a60..6427bd0a0 100644 --- a/app/models/card/golden.rb +++ b/app/models/card/golden.rb @@ -5,7 +5,7 @@ module Card::Golden has_one :goldness, dependent: :destroy, class_name: "Card::Goldness" scope :golden, -> { joins(:goldness) } - scope :with_golden_first, -> { left_outer_joins(:goldness).prepend_order("card_goldnesses.id IS NULL") } + scope :with_golden_first, -> { left_outer_joins(:goldness).prepend_order("card_goldnesses.id IS NULL").preload(:goldness) } end def golden?