如何计算两个 activerecord 实例之间的差异?

问题描述

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

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

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...