首页 > 解决方案 > 如何计算两个活动记录实例之间的差异?

问题描述

模型结构
类 A {}
类 B {has_many: A}

现在我有两个 B 实例,
b1 = 有 3 个 A 实例,ID 为 [1,2,3]
b2 = 有 2 个 A 实例,ID 为 [1,2 ]
我如何计算 b1 和 b2 之间的差异,这也给我带来了关联的差异?

标签: activerecorddifference

解决方案


使用数组减法。您可能需要确保将您的 activerecord 关系转换为数组。

b2_missing = b1.as.pluck(:id).to_a - b2.as.pluck(:id)

推荐阅读