Current user'in durumunu her bir resource için sorgulamak mantıklı mı?

Database schema:

Anlaması kolay olsun diye yukarıda database şemasını paylaştığım gibi bir projem var.
Fakat aklıma şöyle bi konu takıldı. Her bir Genre, Movie yada Cast sorgusunda eğer kullanıcı login olduysa ve o anki resource’yi follow ediyorsa, follow durumunu da resource’a merge etmek. Örnek vermek gerekirse Tüm genre’leri renderlarken bi field daha ekleyip is_following: true gibi bi değer dönmek istiyorum. Fakat bu mantıklı mı değil mi bilmiyorum. Yoksa her bir is_following durumunu başka bi endpointte mi sorgulamalıyım bilmiyorum. Bu konuda tecrübenizi ve bilginizi benimle paylaşırsanız çok mutlu olurum.

Aklıma 2 yol geliyor.

1: Serializera is_following adında user nesnesi alan boolean dönen bir metod eklerim. Genre render etmeden önce current_user’i serializera controllerdan geçerdim.
2: Daha önce controllerda benim tarafımdan atanmış ActiveSupport::CurrentAttributes nesnesi kullanarak statik user accessoru ile o kullanıcı takip ediyor mu etmiyor mu kontrol ederim.

Her 2 yol da aynı sonucu ve aynı SQL sorgularını yapacaktır. Ben genelde 1. seçeneği seçiyorum. Bana daha doğal geliyor.

2 Likes