【发布时间】:2010-08-29 06:41:49
【问题描述】:
我正在使用 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... ]
将 gmail 联系人电子邮件与用户电子邮件进行比较并仅显示匹配的电子邮件的最佳方法是什么?
我在想这样的事情:
@contacts = Contacts::Gmail[params[:from]].new(params[:login], params[:password]).contacts
@contacts.each do |c|
@email = c[1]
@user = Users.find_by_email(@email)
end
这大概只会返回匹配的用户。我觉得必须有更好的方法来解决这个问题,我没有考虑。有什么建议吗?
【问题讨论】:
标签: ruby-on-rails arrays api comparison gmail