Railsドキュメント

データベースのユニーク制約を使って作成できなければ初めの1件を取得

適応バージョン

説明

データベースのユニーク制約を使って作成、できなければ初めの1件を取得
find_or_create_byでは作成されるまでに別プロセスによって作成されている可能性があったので、その問題を解決した処理
create_or_find_by!はエラーの時に例外が発生

使い方

create_or_find_by(属性)

ブロック指定

create_or_find_by(属性) do
end

データベースのユニーク制約を使って作成、できなければ初めの1件を取得

User.create_or_find_by(first_name: 'Penélope')

ソースコード