
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
DB保存前のhas_many内で値がユニークか判定をする - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
DB保存前のhas_many内で値がユニークか判定をする - Qiita
テーブルに格納されていない値にバリデーションが行われない ActiveRecord::Base#validatesのuniqueness... テーブルに格納されていない値にバリデーションが行われない ActiveRecord::Base#validatesのuniquenessオプションはテーブルに格納されている値でユニーク判定を行います。 そのためDBに保存前のモデルにはユニーク判定が行われません。 以下サンプルコードです。uriが同じ「a」ですがバリデーションエラーは起こりません。 class Page < ActiveRecord::Base belongs_to :site validates :uri, uniqueness: true, scope: {[:site_id, :uri]} end class Site < ActiveRecord::Base has_many :pages end site = Site.new site.pages << [Page.new(uri: :a), Page.new(u