私は2つの配列を持っています。 1、配列内のオブジェクトは、他に一致する電子メール属性を持っていない場合は、私が...これらすべてのオブジェクトのうち、アレイを構築したい 2つの配列から一致しないオブジェクトを引き出す
ドラゴン攻撃での私の試み
:CardReferral.all.map(&:email) - CardSignup.all.map(&:email)
ほとんど何を行います私は欲しい!残念ながら、それは配列で電子メールを供給するだけです。私はオブジェクト全体が欲しい。
私は2つの配列を持っています。 1、配列内のオブジェクトは、他に一致する電子メール属性を持っていない場合は、私が...これらすべてのオブジェクトのうち、アレイを構築したい 2つの配列から一致しないオブジェクトを引き出す
ドラゴン攻撃での私の試み
:CardReferral.all.map(&:email) - CardSignup.all.map(&:email)
ほとんど何を行います私は欲しい!残念ながら、それは配列で電子メールを供給するだけです。私はオブジェクト全体が欲しい。
簡体例:
t = CardSignup.all
CardReferral.all.reject { |e| t.include? e.email }
...
CardReferral.all.select { |e| ! CardSignup.all.include? e.email }
または、:-)フィードバックを組み込む:
a = [:x, :y, :z]
b = [:a, :y, :b]
a.select { |e| ! b.include? e }
=> [:x, :z]
だから私はあなたのケースで、それはのようなものだと思います
t = CardSignup.all.map(&:email)
result = CardReferral.all.reject { |i| t.include? i.email }
すごい!ありがとうございました! – Trip
これはループの各繰り返しで 'CardSignup.all'を呼び出しますか?それは効率的ではないですか? –