2010-11-12 53 views
4

由于某种原因,我无法弄清楚这一点。但基本上我想比较模型,看看他们是否有任何匹配的电子邮件。这是我的尝试,但这根本不是出于某种原因。如何在IRB中的两个数组中找到匹配项?

>> CardReferral.all.select{|cf|cf.email == CardSignup.all.collect{|cs|cs.email}} 

在哪里可以以某种方式返回该对象..

回答

16
CardReferral.all.map(&:email) & CardSignup.all.map(&:email) 

rdoc

阵列& other_array 交集-返回包含共用的两个数组元素的数组,没有重复。

[ 1, 1, 3, 5 ] & [ 1, 2, 3 ] #=> [ 1, 3 ] 
+0

哦哇!毕竟,我可能不知道自己在做什么。从来没有听说过。谢谢! – Trip 2010-11-12 14:06:45

+0

@trip:是的,在Array和Enumerable中有各种各样的宝石:) – 2010-11-12 14:08:28

相关问题