Ich glaube nicht, dass es einen "direkten" Weg wie den Minus-Operator gibt, aber wenn es Sie nicht stört, alle Ergebnisse in Kleinbuchstaben zu erhalten, können Sie dies tun:
CardReferral.all.map(&:email).map(&:downcase) - CardSignup.all.map(&:email).map(&:downcase)
Andernfalls müssen Sie den Vergleich manuell durchführen, indem Sie find_all
o reject
:
signups = CardSignup.all.map(&:email).map(&:downcase)
referrals = CardReferral.all.map(&:email).reject { |e| signups.include?(e.downcase) }
Ich würde vorschlagen, dass das Lesen einer Referenz der Ruby-Standardtypen Ihnen dabei helfen könnte, einen Code wie diesen zu erstellen. In "Programming Ruby 1.9" sind zum Beispiel alle Methoden des Typs Enumerable
Objekt wird ab Seite 487 erklärt ( find_all
steht auf Seite 489).