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')

ソースコード