编辑:我正在使用 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
?)能够跳转到 Contractor -> assignments -> projects & count