オブジェクトの配列、タイプLab、、existing_labs
および別のLabの配列、new_labs
。ラボ用に独自の==
コンパレータを定義しました。
existing_labs
はデータベースにすでに存在するラボです。
new_labs
すでにデータベースに存在することに基づいて、保存されるラボです。
今私はこれをやっています
new_labs.each do |l|
lab = Lab.new(l)
exists = existing_labs.map{ |existing_lab| lab == existing_lab }
lab.save unless exists.include? true
end
これは機能しますが、アレイのいずれかまたは両方が大きい場合は遅くなる可能性があります。これを行うにはもっと良い方法が必要だと確信しています!
明確にするために編集:
私の質問は、私の方法を使用して、に存在するが存在しnew_labs
ないすべてのラボを返す良い方法はありますか?existing_labs
==