編集:私はMongoidを使用しているので、連鎖もhas_many through:
プロジェクト管理用のバックエンドを開発しており、「深く」関連するモデルがあります
class Project
include Mongoid::Document
has_many :steps
scope :active, ...
class Step
has_many :assignments
class Assignment
belongs_to :contractor, inverse_of: :project_assignment
belongs_to :step
class Contractor
belongs_to :user, inverse_of: :contractor_profile
has_many :project_assignments, class_name: 'Assignment'
class User
has_one :contractor_profile, class_name: 'Contractor'
これで、ユーザー用のサイドバーをコーディングしました。このサイドバーに、ユーザーが請負業者のプロファイルを持っている場合、アクティブなプロジェクトの数を表示したい
この情報へのアクセスを実装する最良の方法は何ですか?
一度に最大 30 件のアクティブなプロジェクト、プロジェクトごとに 1 ~ 6 件の割り当て (ただし、同じ請負業者との多くのステップ) について話しているため、請負業者は通常、合計でいくつかのプロジェクト (アクティブであるかどうかに関係なく) を持っています。
私のアイデア:
- 割り当てを見てください
current_contractor
- >ステップ - >プロジェクト - >アクティブなものを数えます - 進行中のプロジェクトを見る -> 割り当て -> 一致する請負業者を探す
current_contractor
- 請負業者 - >割り当て - >プロジェクト&カウントにジャンプできるように、すべての割り当てに
belong_to :project
(どうすればそれが同じであることを確認できますか?)を追加するかもしれませんself.step.project