Create a cyclic embedded relation that creates a tree hierarchy for the document and many embedded child documents.
@example Set up a recursive embeds many.
class Role include Mongoid::Document recursively_embeds_many end
@example The previous example is a shorcut for this.
class Role include Mongoid::Document embeds_many :child_roles, :class_name => "Role", :cyclic => true embedded_in :parent_role, :class_name => "Role", :cyclic => true end
This provides the default nomenclature for accessing a parent document or its children.
@since 2.0.0.rc.1
# File lib/mongoid/relations/cyclic.rb, line 37 def recursively_embeds_many(options = {}) embeds_many( cyclic_child_name, options.merge(class_name: self.name, cyclic: true) ) embedded_in cyclic_parent_name, class_name: self.name, cyclic: true end
Create a cyclic embedded relation that creates a single self referencing relationship for a parent and a single child.
@example Set up a recursive embeds one.
class Role include Mongoid::Document recursively_embeds_one end
@example The previous example is a shorcut for this.
class Role include Mongoid::Document embeds_one :child_role, :class_name => "Role", :cyclic => true embedded_in :parent_role, :class_name => "Role", :cyclic => true end
This provides the default nomenclature for accessing a parent document or its children.
@since 2.0.0.rc.1
# File lib/mongoid/relations/cyclic.rb, line 67 def recursively_embeds_one(options = {}) embeds_one( cyclic_child_name(false), options.merge(class_name: self.name, cyclic: true) ) embedded_in cyclic_parent_name, class_name: self.name, cyclic: true end