クラス: Mongoid::Validable::UniquenessValidator

継承:
ActiveModel::EachValidator
  • オブジェクト
すべて表示
次のことが含まれます。
クエリ可能な
定義:
lib/mongoid/validable/Uniqueness.rb

Overview

フィールドがデータベース内のドキュメントに対して一意であるかどうかを検証します。

また、一意の制約を特定の条件に一致するドキュメントのセットに制限することもできます。

class Person
  include Mongoid::Document
  field :title
  field :active, type: Boolean

  validates_uniqueness_of :title, conditions: -> {where(active: true)}
end

例:

一意性バリデーターを定義します。


class Person
  include Mongoid::Document
  field :title

  validates_uniqueness_of :title
end

インスタンス メソッドの概要を折りたたむ

クエリ可能な に含まれるメソッド

#with_query

インスタンス メソッドの詳細

#validate_each(document, attribute, value) ⇒ Errors

一意性違反がないかドキュメントを検証します。

例:

ドキュメントを検証します。

validate_each(person, :title, "Sir")

パラメーター:

  • ドキュメント ドキュメント

    検証するドキュメント。

  • 属性 シンボル

    検証するフィールド。

  • 価値 オブジェクト

    フィールドの値。

次の値を返します。



41
42
43
44
45
46
47
48
49
50
51
# ファイル 'lib/mongoid/validable/uniqueness.rb' 行41

デフォルト validate_each(ドキュメント, 属性, 価値)
  with_query(ドキュメント) 行う
    属性, 価値 = to_validate(ドキュメント, 属性, 価値)
    return ただし、 validation_Required?(ドキュメント, 属性)
    場合 ドキュメント.埋め込み
      validate_ embedded(ドキュメント, 属性, 価値)
    else
      validate_root(ドキュメント, 属性, 価値)
    end
  end
end