ApplicationRecord
オブジェクトを作成するためのハッシュの配列があります。一度に複数のオブジェクトを作成して一意制約の例外を無視する方法
a = [{name: 'foo', title: 'bar'},
{name: 'foo2', title: 'bar2'}]
私はFoo.create(a)
することにより、複数のオブジェクトを作成することができ、私はユニーク制約の例外をキャッチするrescue
句を使用することができます。
しかし、例外を無視して一度に複数のオブジェクトを作成する方法を見つけることができませんでした。
ループを使用してのみ書き込むことができました。
a.each do |hash|
begin
Foo.create(hash)
rescue
next
end
end
または
a.each do |hash|
Foo.find_or_created_by(name: hash[:name], title: hash[:title])
end
どのように私はこのような状況で、一度にオブジェクトを作成することができますか?