Module: Mongoid::Association::Macros::ClassMethods
- Defined in:
- lib/mongoid/association/macros.rb
Overview
Class methods for associations.
Instance Method Summary collapse
-
#belongs_to(name, options = {}, &block) ⇒ Object
Adds a referenced association from the child Document to a Document in another database or collection.
-
#embedded_in(name, options = {}, &block) ⇒ Object
Adds the association back to the parent document.
-
#embeds_many(name, options = {}, &block) ⇒ Object
Adds the association from a parent document to its children.
-
#embeds_one(name, options = {}, &block) ⇒ Object
Adds the association from a parent document to its child.
-
#has_and_belongs_to_many(name, options = {}, &block) ⇒ Object
Adds a referenced many-to-many association between many of this Document and many of another Document.
-
#has_many(name, options = {}, &block) ⇒ Object
Adds a referenced association from a parent Document to many Documents in another database or collection.
-
#has_one(name, options = {}, &block) ⇒ Object
Adds a referenced association from the child Document to a Document in another database or collection.
Instance Method Details
#belongs_to(name, options = {}, &block) ⇒ Object
Adds a referenced association from the child Document to a Document in another database or collection.
148 149 150 |
# File 'lib/mongoid/association/macros.rb', line 148 def belongs_to(name, = {}, &block) define_association!(__method__, name, , &block) end |
#embedded_in(name, options = {}, &block) ⇒ Object
Adds the association back to the parent document. This macro is necessary to set the references from the child back to the parent document. If a child does not define this association calling persistence methods on the child object will cause a save to fail.
80 81 82 |
# File 'lib/mongoid/association/macros.rb', line 80 def (name, = {}, &block) define_association!(__method__, name, , &block) end |
#embeds_many(name, options = {}, &block) ⇒ Object
Adds the association from a parent document to its children. The name of the association needs to be a pluralized form of the child class name.
103 104 105 |
# File 'lib/mongoid/association/macros.rb', line 103 def (name, = {}, &block) define_association!(__method__, name, , &block) end |
#embeds_one(name, options = {}, &block) ⇒ Object
Adds the association from a parent document to its child. The name of the association needs to be a singular form of the child class name.
126 127 128 |
# File 'lib/mongoid/association/macros.rb', line 126 def (name, = {}, &block) define_association!(__method__, name, , &block) end |
#has_and_belongs_to_many(name, options = {}, &block) ⇒ Object
Adds a referenced many-to-many association between many of this Document and many of another Document.
194 195 196 |
# File 'lib/mongoid/association/macros.rb', line 194 def has_and_belongs_to_many(name, = {}, &block) define_association!(__method__, name, , &block) end |
#has_many(name, options = {}, &block) ⇒ Object
Adds a referenced association from a parent Document to many Documents in another database or collection.
172 173 174 |
# File 'lib/mongoid/association/macros.rb', line 172 def has_many(name, = {}, &block) define_association!(__method__, name, , &block) end |
#has_one(name, options = {}, &block) ⇒ Object
Adds a referenced association from the child Document to a Document in another database or collection.
216 217 218 |
# File 'lib/mongoid/association/macros.rb', line 216 def has_one(name, = {}, &block) define_association!(__method__, name, , &block) end |