是否有一个可用的irb
代码可以检查任何Object
在其字段中是否有相同的数据?
例如,我是否可以查看Object
中是否有任何相同的电子邮件?或者,检查并查看是否有任何对象不唯一?
答案 0 :(得分:1)
你可以这样试试:
创建一个哈希,将所有实例变量作为键值对,然后比较哈希值:
假设您有两个对象a和b:
hash_a = a.instance_variables.inject({}){|res,v| res[v] = a.instance_variable_get(v); res }
hash_b = b.instance_variables.inject({}){|res,v| res[v] = b.instance_variable_get(v); res }
if hash_a == hash_b
puts "equal"
else
puts "not equal"
end
修改强>:
如果您正在谈论Rails模型,那么您需要:
if a.attributes == b.attributes
puts "equal"
end