Módulo: Mongoid::Association::Referenced::HasOne::Buildable

Inclui:
Com Critérios Polimórficos
Incluído em:
Mongoid::Association::Referenced::HasOne
Definido em:
lib/mongoid/association/referenced/has_one/buildable.rb

Visão geral

O comportamento do Construtor para associações has_one.

Recolhimento do Resumo do método de instância

Métodos incluídos de WithPolymorphicCriteria

#with_polymorphic_criterion

Detalhes do método de instância

#build(base, objeto, _type = nil,selected_fields = nil) ➤ Documento

Esse método pega um _id ou um objeto e consulta o lado inverso usando o ID ou define o objeto depois de limpar o objeto associado.

Parâmetros:

  • base (Objeto)

    O objeto base.

  • objeto (Objeto)

    O objeto a ser usado para criar a associação.

  • type (string)

    O tipo da associação.

  • campos_selecionados (nil) (padrão para: nil)

    Deve ser zero.

Retorna:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mongoid/association/referenced/has_one/buildable.rb', linha 23

def COMPILAR(base, objeto, _type = nada, campos_selecionados = nada)
  se query?(objeto)
    # Lidar array de hashes da agregação $lookup
    se objeto.is_a?(Array) && objeto.todos? { |o| o.is_a?(Hash) }
      doc = objeto.primeiro
      Método doc ? Factory.execute_from_db(classe, doc, nada, campos_selecionados, execute_callbacks: false) : nada
    end

    execute_query(objeto, base) a menos que base.new_record?
  mais
    clear_associated(objeto)
    objeto
  end
end