Classe: Mongoid::Association::Nested::Many
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Aninhado::Many
- Inclui:
- Construível
- Definido em:
- lib/mongoid/association/nested/many.rb
Visão geral
classe de construtor usada para executar a atribuição de atributos # accepts_nested_attributes_for em associações muitos-para-n.
Resumo do atributo de instância
Atributos incluídos no Construível
#association, #attributes, #existente, # opções
Recolhimento do Resumo do método de instância
-
#build(principal, opções = {}) ➤ Array
Constrói a associação dependendo dos atributos e das opções passadas para a macro.
-
#inicializar(associação, atributos, opções = {}) ➤ Muitos
construtor
Crie o novo construtor para atributos aninhados em associações de um para muitos.
Métodos incluídos do Buildable
#allow_destroy?, #convert_id, #rejeitar?, #update_only?
Detalhes do construtor
#inicializar(associação, atributos, opções = {}) ➤ Muitos
Crie o novo construtor para atributos aninhados em associações de um para muitos.
50 51 52 53 54 55 56 57 58 59 60 61 |
# Arquivo 'lib/mongoid/association/nested/many.rb', linha 50 def inicializar(associação, attributes, = {}) se attributes.respond_to?(:with_indizer_access) @attributes = attributes.with_indizer_access.sort fazer |uma, b| uma[0].to_i <=> b[0].to_i end mais @attributes = attributes end @association = associação @opções = @class_name = [:class_name] ? [:class_name].constanteizar : associação.classe end |
Detalhes do método de instância
#build(principal, opções = {}) ➤ Array
Constrói a associação dependendo dos atributos e das opções passadas para a macro.
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.
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# Arquivo 'lib/mongoid/association/nested/many.rb', linha 27 def COMPILAR(principal, = {}) @existente = principal.enviar(associação.name) se over_limit?(attributes) aumentar Errors::TambémManyNestedAttributeRecords.Novo(existente, [:limit]) end attributes.cada fazer |attrs| se attrs.is_a?(::Hash) process_attributes(principal, attrs.with_indizer_access) mais process_attributes(principal, attrs[1].with_indizer_access) end end end |