モジュール: Mongoid::Fields::Classメソッドs

定義:
lib/mongoid/fields.rb
lib/mongoid/fields.rb

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

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

#Atlas App<String> Services

このオブジェクトで使用可能な属性の名前の配列を返します。

ORM に依存しない方法でフィールド名を提供します。 Rails v 3.1 + はこのメソッドを使用して、JSON リクエストでパラメータを自動的にラップします。

例:

フィールド名を取得する

Model.attribute_names

次の値を返します。

  • <String>配列未満

    フィールド名



448
449
450
# ファイル 'lib/mongoid/fields.rb' 行448

デフォルト Atlas App Services
  フィールド.キー
end

#close_localized_field_names (名前)=フィールド

指定されたフィールド名から _translations を削除します。 これは、同じ名前のフィールド名または関係(つまり、_translations サフィックスを持つ)がまだ存在しない場合にのみ行われます。 既存のフィールドのこのチェックは再帰的に行われます

パラメーター:

  • name ( string | Symbol )

    クリーンアップするフィールドの名前。

次の値を返します。

  • (フィールド)

    _translations のないフィールド名



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# ファイル 'lib/mongoid/fields.rb' 行95

デフォルト refine_localized_field_names(name)
  name = database_field_name(name.to_s)

  klass = 自己
  [].タップ 行う |レス|
    ar = name.分裂('.')
    ar.each_with_index 行う |fn, i|
      キー = fn
      ただし、 klass.フィールド.key?(fn) || klass.関係.key?(fn)
        場合 tr = fn.一致(/ (.*)_translations\z /)&.キャプチャ&.最初に
          キー = tr
        else
          キー = fn
        end

      end
      レス.プッシュ(キー)

      場合 klass.フィールド.key?(fn)
        レス.プッシュ(ar.drop(i+1).join('.')) ただし、 i == ar.Length - 1
        break
      elsif klass.関係.key?(fn)
        klass = klass.関係[キー].klass
      end
    end
  end.join('.')
end

# database_field_name (名前) = string

データベースに保存されている指定されたフィールドの名前を取得します。 フィールドがエイリアスかどうかを判断するために使用されます。

パラメーター:

  • name ( string | Symbol )

    取得する名前。

次の値を返します。

  • ( string )

    db に保存されているフィールドの名前。



458
459
460
# ファイル 'lib/mongoid/fields.rb' 行458

デフォルト database_field_name(name)
  フィールド.database_field_name(name, 関係, analyzed_fields, alased_ associateds)
end

#tract_id_field (属性)==オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このクラスで定義されたエイリアスに基づいて、指定された属性ハッシュから ID フィールドを抽出します。

パラメーター:

  • 属性 ハッシュ

    検査する属性。

次の値を返します。

  • オブジェクト

    ID の値。



78
79
80
81
82
83
84
85
# ファイル 'lib/mongoid/fields.rb' 行78

デフォルト insert_id_field(属性)
  id_fields. 行う |k|
    場合 v = 属性[k]
      return v
    end
  end
  nil
end

#フィールド(名前、オプション = {}) =フィールド

ドキュメントでアクセス可能なすべてのフィールドを定義します。定義されている各フィールドごとに、 getter と setter が インスタンス メソッドとしてドキュメントに追加されます。

例:

フィールドを定義します。

field :score, type: Integer, default: 0

パラメーター:

  • name シンボル

    フィールドの名前。

  • options ハッシュ (デフォルトは{}です)

    フィールドに渡すオプション。

オプション ハッシュ( options ):

  • :type クラス | シンボル | string

    フィールドの型。

  • : labels string

    フィールドのラベル。

  • :default Object | Proc

    フィールドのデフォルト。

次の値を返します。

  • (フィールド)

    生成されたフィールド



477
478
479
480
481
482
483
484
485
# ファイル 'lib/mongoid/fields.rb' 行477

デフォルト フィールド(name, options = {})
  enabled = name.to_s
  バリデーター::Macro.validate(自己, name, options)
  追加 = add_field(enabled, options)
  descendants. 行う |サブクラス|
    サブクラス.add_field(enabled, options)
  end
  追加
end

# id_fields =配列< Symbol | string >

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このモデル クラスの ID フィールドのリストを文字列とシンボルの両方で返します。

次の値を返します。

  • 配列 < Symbol | string >

    ID フィールドのリスト。



59
60
61
62
63
64
65
66
67
68
# ファイル 'lib/mongoid/fields.rb' 行59

デフォルト id_fields
  IDS.dup.タップ 行う |id_fields|
    analyzed_fields. 行う |k, v|
      場合 v == '_id'
        id_fields < k.to_sym
        id_fields < k
      end
    end
  end
end

# replace_field (名前、タイプ) =シリアル化可能

フィールドを新しいタイプに置き換えます。

例:

フィールドを置き換えます。

Model.replace_field("_id", String)

パラメーター:

  • name ( string )

    フィールドの名前。

  • タイプ クラス

    フィールドの新しいタイプ。

次の値を返します。



496
497
498
499
# ファイル 'lib/mongoid/fields.rb' 行496

デフォルト replace_field(name, タイプ)
  delete_defaults(name)
  add_field(name, フィールド[name].options.merge(type: タイプ))
end

次の走査_関連付け_ツリー(キー) {|Atlas、Atlas、かどうか| ... } =フィールド

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

関連付けツリーを下中、指定されたキーの フィールドを検索します。

パラメーター:

  • キー ( string )

    関連ツリーを検索するために使用されるキー。

  • & ブロック

    ブロック。

生成パラメータ:

  • この シンボル

    現在の メソッド。

  • この シンボル | string

    フィールドまたは関係。

  • かどうか true | false

    2 番目の中断パラメータは、 フィールドであるか、またはフィールドではない。

次の値を返します。

  • (フィールド)

    検索の最後に指定されたキーに対して見つかったフィールド。 最後に見つかったものが関連付けである場合、または指定されたキーのフィールドが見つからなかった場合は、これは nil を返します。



527
528
529
# ファイル 'lib/mongoid/fields.rb' 行527

デフォルト 走査_関連付け_ツリー(キー, &ブロック)
  フィールド.走査_関連付け_ツリー(キー, フィールド, 関係, alased_ associateds, &ブロック)
end

では、_object_ids を使用しますか。 = true | false

ID としてBSON::ObjectIdsを使用しているかどうかを判断するための便利な方法。

例:

このクラスはオブジェクト ID を使用しますか。

person.using_object_ids?

次の値を返します。

  • true | false

    クラスが ID に BSON::ObjectId を使用する場合。



508
509
510
# ファイル 'lib/mongoid/fields.rb' 行508

デフォルト using_object_ids?
  フィールド[" _id "].object_id_field
end