From 4224dcb25718f536ab56c49dcc2b3d305b233de7 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sat, 13 Dec 2025 21:40:42 -0800 Subject: [PATCH] move recruited_by to separate view to avoid N+1 --- app/blueprints/api/v1/character_blueprint.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/blueprints/api/v1/character_blueprint.rb b/app/blueprints/api/v1/character_blueprint.rb index fc704ac..b2556f6 100644 --- a/app/blueprints/api/v1/character_blueprint.rb +++ b/app/blueprints/api/v1/character_blueprint.rb @@ -63,8 +63,12 @@ module Api kamigame: c.kamigame } end + end + + # Separate view for recruitment info - only include when needed (e.g., character detail page) + view :with_recruitment do + include_view :full - # Reverse relationship: which weapon recruits this character field :recruited_by do |c| weapon = Weapon.find_by(recruits: c.granblue_id) next nil unless weapon