Ruby on rails 在rails中将一个数组与另一个数组进行比较

Ruby on rails 在rails中将一个数组与另一个数组进行比较,ruby-on-rails,arrays,api,comparison,gmail,Ruby On Rails,Arrays,Api,Comparison,Gmail,我正在使用rails中的“联系人”gem从用户的邮件应用程序中检索联系人。它返回联系人,如下所示: ["person name", "personemail@example.com"], ["person name", "personemail@example.com"], ["person name", "personemail@example.com"] etc... 我想将此列表与已注册我的网站的用户进行比较 Users.find(:all)返回: [#<User id: 11,

我正在使用rails中的“联系人”gem从用户的邮件应用程序中检索联系人。它返回联系人,如下所示:

["person name", "personemail@example.com"], ["person name", "personemail@example.com"], ["person name", "personemail@example.com"] etc...
我想将此列表与已注册我的网站的用户进行比较

Users.find(:all)返回:

[#<User id: 11, login: "examplelogin", email: "example@example.com">, #<User id: 12, login: "examplelogin", email: "example@example.com">, etc... ]
这可能只会返回匹配的用户。我觉得必须有一个更好的方法来处理这件事,我没有考虑。有什么建议吗

@users = Users.find_all_by_email(@contacts.collect{|contact| contact[1]})
编辑:

您以前拥有的功能将对每个联系人执行查找,并只留下最后一次查询的结果,用户与否取决于此电子邮件中是否存在用户。这将执行一个查询并返回所有成功匹配项的数组:

where 'users'.'email' in array_of_email_addresses. 

工作得很有魅力!这仅仅是我上面描述的一种速记方式吗?
where 'users'.'email' in array_of_email_addresses.