Classe: Mongoid::Association::Nested::One
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Nested::One
- Inclui:
- Construível
- Definido em:
- lib/mongoid/association/nested/one.rb
Visão geral
classe Builder usada para executar a atribuição de atributo #accepts_nested_attributes_for em associações um-para-n.
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.
52 53 54 55 56 57 58 |
# Arquivo 'lib/mongoid/association/nested/one.rb', linha 52 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.
13 14 15 |
# Arquivo 'lib/mongoid/association/nested/one.rb', linha 13 def destruir @destroy end |
Detalhes do método de instância
#build(principal) ➤ Documento
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.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# Arquivo 'lib/mongoid/association/nested/one.rb', linha 28 def COMPILAR(principal) Método se rejeitar?(principal, attributes) @existente = principal.enviar(associação.name) se update? delete_id(attributes) 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 |