J'utilise la gemme «contacts» dans les rails pour récupérer les contacts d'un utilisateur à partir de leur application de messagerie. Elle retourne les contacts comme ceci:Comparaison d'un tableau avec un autre dans les rails
["person name", "[email protected]"], ["person name", "[email protected]"], ["person name", "[email protected]"] etc...
Je veux comparer cette liste aux utilisateurs déjà inscrits pour mon site
Users.find (: all) retourne:
[#<User id: 11, login: "examplelogin", email: "[email protected]">, #<User id: 12, login: "examplelogin", email: "[email protected]">, etc... ]
Qu'est-ce que est le meilleur moyen de comparer les e-mails de contact Gmail aux emails des utilisateurs et d'afficher uniquement ceux qui correspondent?
Je pensais quelque chose comme:
@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
Ce qui serait probablement retourner que les utilisateurs où il y avait un match. J'ai l'impression qu'il doit y avoir une meilleure façon de faire ce que je ne considère pas. Aucune suggestion?
a travaillé comme un charme! Est-ce juste une façon sténographique de faire ce que j'ai décrit ci-dessus? – goddamnyouryan
Pas vraiment, j'ai édité mon post. :) – mark