Classe: Mongoid::Association::Nested::One
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Nested::One
- Inclui:
- Construível
- Definido em:
- build/mongoid-8.1/lib/mongoid/association/nested/one.rb
Recolhimento do Resumo do atributo de instância
-
#destruir ➤ Objeto
Retorna o valor da destruição do atributo.
Atributos incluídos no Construível
#association, #attributes, #existente, # opções
Recolhimento do Resumo do método de instância
-
#build(principal) ➤ Documento
Constrói a associação dependendo dos atributos e das opções passadas para a macro.
-
#inicializar(associação, atributos, opções) ➤ Um
construtor
Crie o novo construtor para atributos aninhados em associações um-para-um.
Métodos incluídos do Buildable
#allow_destroy?, #convert_id, #rejeitar?, #update_only?
Detalhes do construtor
#inicializar(associação, atributos, opções) ➤ Um
Crie o novo construtor para atributos aninhados em associações um-para-um.
49 50 51 52 53 54 55 |
# File 'build/mongoid-8.1/lib/mongoid/association/nested/one.rb', linha 49 def inicializar(associação, attributes, ) @attributes = attributes.with_indizer_access @association = associação @opções = @class_name = [:class_name] ? [:class_name].constanteizar : associação.classe @destroy = @attributes.excluir(:_destroy) end |
Detalhes do atributo da instância
#destruir ➤ Objeto
Retorna o valor da destruição do atributo.
9 10 11 |
# File 'build/mongoid-8.1/lib/mongoid/association/nested/one.rb', linha 9 def destruir @destroy end |
Detalhes do método de instância
#build(principal) ➤ Documento
Observação:
Isso tenta executar operações 3 , seja uma atualização da associação existente, uma substituição da associação por um novo documento ou uma remoção da associação.
Constrói a associação dependendo dos atributos e das opções passadas para a macro.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'build/mongoid-8.1/lib/mongoid/association/nested/one.rb', linha 25 def COMPILAR(principal) Método se rejeitar?(principal, attributes) @existente = principal.enviar(associação.name) se update? attributes.delete_id existente.assign_attributes(attributes) elsif substituir? principal.enviar(associação.setter, Factory.COMPILAR(@class_name, attributes)) elsif excluir? principal.enviar(associação.setter, nada) mais check_for_id_violation! end end |