エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
レースコンディションによりRecordInvalidを抜けてRecordNotUniqueを引いてしまうときの対処 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
レースコンディションによりRecordInvalidを抜けてRecordNotUniqueを引いてしまうときの対処 - Qiita
class User < ActiveRecord::Base validates name, presence: true, uniqueness: { :case_sensitive => ... class User < ActiveRecord::Base validates name, presence: true, uniqueness: { :case_sensitive => false } end /usersへ同じnameパラメータでかつ同時POSTされたりすると、タイミングによってはuniquenessバリデーションを抜けられることがある。 DBのテーブル定義でnameカラムにuniqueインデックスを張っていれば、ActiveRecord::RecordNotUniqueがraiseされる。 エラーハンドラーがActiveRecord::RecordInvalidを補足していて、モデルの#errors.messagesなどをパラメータエラーのヒントとして返すようにしていても台無しになってしまう。 このケースでは再度バリデーションを通してActiveRecord::