Módulo: Mongoid::Asociación::Macros::Métodos de clase

Definido en:
lib/mongoid/asociación/macros.rb

Overview

Métodos de clase para asociaciones.

Colapso del resumen del método de instancia

Detalles del método de instancia

#pertenece_a(nombre, opciones = {}, &bloque) ⇒ Objeto

Agrega una asociación referenciada del documento secundario a un documento en otra base de datos o colección.

Ejemplos:

Definir la asociación.


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



148
149
150
# Archivo 'lib/mongoid/association/macros.rb', línea 148

def pertenece_a(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#embedded_in(nombre, opciones = {}, &bloque) ⇒ Objeto

Agrega la asociación al documento principal. Esta macro es necesaria para restablecer las referencias del documento secundario al documento principal. Si un documento secundario no define esta asociación, al llamar a métodos de persistencia en el objeto secundario, se producirá un error al guardar.

Ejemplos:

Definir la asociación.


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



80
81
82
# Archivo 'lib/mongoid/association/macros.rb', línea 80

def incrustado en(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#embeds_many(nombre, opciones = {}, &bloque) ⇒ Objeto

Añade la asociación de un documento principal a sus secundarios. El nombre de la asociación debe ser la forma pluralizada del nombre de la clase secundaria.

Ejemplos:

Definir la asociación.


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



103
104
105
# Archivo 'lib/mongoid/association/macros.rb', línea 103

def incrustaciones_muchas(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#embeds_one(nombre, opciones = {}, &bloque) ⇒ Objeto

Añade la asociación de un documento principal a su documento secundario. El nombre de la asociación debe ser la forma singular del nombre de la clase secundaria.

Ejemplos:

Definir la asociación.


class Person
  include Mongoid::Document
  embeds_one :name
end

class Name
  include Mongoid::Document
  embedded_in :person
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



126
127
128
# Archivo 'lib/mongoid/association/macros.rb', línea 126

def embeds_one(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#tiene_y_pertenece_a_muchos(nombre, opciones = {}, &bloque) ⇒ Objeto

Agrega una asociación referenciada de muchos a muchos entre muchos de este documento y muchos de otro documento.

Ejemplos:

Definir la asociación.


class Person
  include Mongoid::Document
  has_and_belongs_to_many :preferences
end

class Preference
  include Mongoid::Document
  has_and_belongs_to_many :people
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



194
195
196
# Archivo 'lib/mongoid/association/macros.rb', línea 194

def tiene_y_pertenece_a_muchos(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#has_many(nombre, opciones = {}, &bloque) ⇒ Objeto

Agrega una asociación referenciada de un documento principal a muchos documentos en otra base de datos o colección.

Ejemplos:

Definir la asociación.


class Person
  include Mongoid::Document
  has_many :posts
end

class Game
  include Mongoid::Document
  belongs_to :person
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



172
173
174
# Archivo 'lib/mongoid/association/macros.rb', línea 172

def tiene_muchos(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end

#has_one(nombre, opciones = {}, &bloque) ⇒ Objeto

Agrega una asociación referenciada del documento secundario a un documento en otra base de datos o colección.

Ejemplos:

Definir la asociación.


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

Parámetros:

  • Nombre ( Símbolo) -

    El nombre de la asociación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de asociación.

  • &bloquear

    Bloque opcional para definir extensiones.



216
217
218
# Archivo 'lib/mongoid/association/macros.rb', línea 216

def tiene_uno(Nombre, opciones = {}, Ybloque)
  ¡define_asociación!(__método__, Nombre, opciones, Ybloque)
end