Módulo: Mongoid::Asociación::Referenciada::HasAndBelongsToMany::Construible

Incluido en:
Mongoid::Asociación::Referenciada::TieneYPerteneceAMuchos
Definido en:
lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb

Overview

El comportamiento de Builder para has_and_belongs_to_many associations.

Resumen del método de instancia colapsar

Detalles del método de instancia

#build(_base, objeto, _type = nil, selected_fields = nil) ⇒ arreglo<document>

Este generador toma un hash y realiza una consulta para el objeto o un arreglo de documentos, donde simplemente los devolverá.

Ejemplos:

Compila los documentos.

relation.build(association, attrs)

Parámetros:

  • base (objeto)

    El objeto base.

  • Objeto (objeto)

    El objeto que se usará para compilar la asociación.

  • tipo (string)

    No se utiliza en este contexto.

  • selected_fields (nil) (valor por defecto: nil)

    Debe ser nulo.

Devuelve:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Archivo 'lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb', línea 21

def compilar(_base, Objeto, _type = nulo, selected_fields = nulo)
  si query?(Objeto)
    # Gestionar un arreglo de hashes desde la agregación $lookup
    si Objeto.is_a?(Arreglo) && Objeto.¿todos? { |o| o.is_a?(encriptada) }
      return Objeto.map hacer |attrs|
        Fábrica.execute_from_db(klass, attrs, nulo, selected_fields, execute_callbacks: false)
      end
    end

    query_criteria(Objeto)
  else
    Objeto.intentar(duplicar)
  end
end