モジュール: Mongoid::関連付け::Macros::Classメソッドs

定義:
lib/mongoid/関連付け/macros.rb

Overview

関連付けのクラス メソッド。

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

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

次の項目を使用することで、名前、オプション、および を使用できます

子ドキュメントから別のデータベースまたはコレクション内のドキュメントへの参照された関連付けを追加します。

例:

関連付けを定義します。


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



148
149
150
# ファイル 'lib/mongoid/as associated/macros.rb' は、 148行

デフォルト include_to(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

# embedded_in (name, options = {}, &stream) =オブジェクト

関連付けを親ドキュメントに追加します。 このコマンドは、子ドキュメントから親ドキュメントへの参照を設定するために必要です。 子が、子オブジェクトで永続性メソッドを呼び出すこの関連付けを定義しない場合、保存は失敗します。

例:

関連付けを定義します。


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



80
81
82
# ファイル 'lib/mongoid/as associated/macros.rb' は、 80行

デフォルト embedded_in(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

# embedded_many (name, options = {{}, &stream) =オブジェクト

親ドキュメントから子に 関連付けを追加します。 関連付けの名前は、子クラス名の複数形である必要があります。

例:

関連付けを定義します。


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



103
104
105
# ファイル 'lib/mongoid/as associated/macros.rb' は、 103行

デフォルト embedded_many(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

# embedded_one (name, options = {}, &stream) =オブジェクト

親ドキュメントから子ドキュメントに関連付けを追加します。 関連付けの名前は、子クラス名の単数形である必要があります。

例:

関連付けを定義します。


class Person
  include Mongoid::Document
  embeds_one :name
end

class Name
  include Mongoid::Document
  embedded_in :person
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



126
127
128
# ファイル 'lib/mongoid/as associated/macros.rb' は、 126行

デフォルト embeds_one(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

has_and_belongs_to_many (name, options = {}, &stream) =オブジェクト

このドキュメントの多数と別のドキュメントの多数との間で、参照された多対多の関連付けを追加します。

例:

関連付けを定義します。


class Person
  include Mongoid::Document
  has_and_belongs_to_many :preferences
end

class Preference
  include Mongoid::Document
  has_and_belongs_to_many :people
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



194
195
196
# ファイル 'lib/mongoid/as associated/macros.rb' は、 194行

デフォルト has_and_belongs_to_many(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

#has_many (name, options = {}, &stream) =オブジェクト

親ドキュメントから別のデータベースまたはコレクション内の多数のドキュメントに、参照された関連付けを追加します。

例:

関連付けを定義します。


class Person
  include Mongoid::Document
  has_many :posts
end

class Game
  include Mongoid::Document
  belongs_to :person
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



172
173
174
# ファイル 'lib/mongoid/as associated/macros.rb' は、 172行

デフォルト has_many(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end

# has_one (名前、オプション = {}、 & ブロック) =オブジェクト

子ドキュメントから別のデータベースまたはコレクション内のドキュメントへの参照された関連付けを追加します。

例:

関連付けを定義します。


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

パラメーター:

  • name シンボル

    関連付けの名前。

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

    関連付けオプション。

  • & ブロック

    拡張機能を定義するための任意のブロック。



216
217
218
# ファイル 'lib/mongoid/as associated/macros.rb' は、 216行

デフォルト has_one(name, options = {}, &ブロック)
  refine_asされました。(__method__, name, options, &ブロック)
end