【发布时间】:2019-05-27 12:35:24
【问题描述】:
我的标题不是很清楚,我不知道如何制定,如果你有建议,我可以编辑它。
我想从我的 user_facturation 中渲染所有任务。但我不知道如何使用当前的数据库结构来做到这一点。
我的关系:
mission has_many :mission_facturations
mission_facturation belongs_to :mission
Mission_facturation 可以与许多元素构造(用户、合作伙伴等)相关联。所以为了保存这个关系,我保存了一个 fact_cat 和一个 fact_id 列。 (有点多态关系)
例如,如果我想将我的 Mission_facturation 与第一个 user_facturation 关联,我会记录:
mission_facturation.update(fact_cat: 8, fact_id: UserFacturation.first.id)
现在,我想直接从我的 user_facturation 模型访问所有任务。最初,我在模型 user_facturation.rb 中使用该方法
def missions
MissionFacturation.where(fact_cat: 8, fact_id: self.id).where.not(mission_id: nil).map(&:mission)
end
但这不是渲染 ActiveReccord::Relation,所以当我将它用于循环时,它不能正常工作
您有什么解决方案可以将一组任务渲染到我的 user_facturation 模型中吗?
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-5