Classe: Mongoid::Association::Referenced::HasMany
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Referenced::HasMany
- Definido em:
- lib/mongoid/association/referenced/has_many.rb,
lib/mongoid/association/referenced/has_many/eager.rb,
lib/mongoid/association/referenced/has_many/proxy.rb,
lib/mongoid/association/referenced/has_many/binding.rb,
lib/mongoid/association/referenced/has_many/buildable.rb,
lib/mongoid/association/referenced/has_many/enumerable.rb
Visão geral
A associação has_many.
Definido sob namespace
Módulos: Construível Classes: Vinculativo, Ávido, Enumerável, Proxy
Colapsode resumo constante
- ASSOCIATION_OPTIONS =
As opções disponíveis para este tipo de associação, além das comuns.
%i[ after_add after_remove como autosave before_add before_remove dependente foreign_key order primary_key escopo ].congelar
- VALID_OPTIONS =
A lista completa de opções válidas para esta associação, incluindo as compartilhadas.
(ASSOCIATION_OPTIONS + SHARED_OPTIONS).congelar
- FOREIGN_KEY_SUFFIX =
O sufixo de chave estrangeira padrão.
'_id'
Constantes incluídas do Mongoid::Association::Relatable
Mongoid::Association::Relatable::PRIMARY_KEY_DEFAULT, Mongoid::Association::Relatable::SHARED_OPTIONS
Resumo do atributo de instância
Atributos incluídos do Mongoid::Association::Relatable
#name, #options, #wner_class, #parent_inclusions
Recolhimento do Resumo do método de instância
-
#add_polymorphic_criterion(criteria, object_class) ➤ Mongoid::Criteria
obsoleto
Obsoleto.
em 9.0.x
-
#vinculável?(doc) ➤ verdadeiro | false
Se a tentativa de vincular um objeto usando essa associação deve gerar um erro.
-
#critério(base) ➤ Mongoide::Criteria
Os critérios utilizados para consultar esta associação.
-
#incorporado? ➤ false
Este tipo de associação está incorporado?
-
#foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso para salvar a referência de associação.
-
#nested_builder(attributes, opções) ➤Association::Nested::Many
O objeto de construtor aninhado.
-
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
-
#polimórfico? ➤ verdadeiro | false
Esta associação é polimórfica?
-
#relação ➤Association::HasMany::Proxy
Obtenha a classe de proxy de associação para este tipo de associação.
-
#concern_complements ➤ Array<Mongoid::Association::Relatable>
A lista de complementos de associação.
-
#scope ➤ Proc | Símbolo | nada
Obtenha o escopo a ser aplicado ao consultar a associação.
-
#configuração! ➤ auto
Configure os métodos de instância, campos, etc.
-
#setup_instance_methods! ➤ auto
Configure os métodos de instância na classe que tem este tipo de associação.
-
#stores_foreign_key? ➤ verdadeiro
Esse tipo de associação armazena a chave estrangeira?
-
#tipo ➤ string | nada
O tipo desta associação se for polimórfico.
-
#validation_default ➤ verdadeiro
O padrão para validação do objeto de associação.
Métodos incluídos de WithPolymorphicCriteria
Métodos incluídos do Buildable
Métodos incluídos do Mongoid::Association::Relatable
#==, #counter_cache_column_name, #create_relation, #destructive?, #extension, #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to?, #initialize, #inverse, #inverse_association, #inverse_class, #inverse_class_name, #inverse_setter, #inverse_type, #inverse_type_setter, #inverses, #key, #many?, #one?, #relation_class, #relation_class_name, #setter, #type_setter, #validate?
Métodos incluídos em Opções
#as, #autoconstrução?, #autosave, #cascadeing_callbacks?, #counter_cached? , #cíclica?, #depende, #forced_nil_inverse?, #indexado?,...
Métodos incluídos no Constrainable
Detalhes do método de instância
#add_polymorphic_criterion(criteria, object_class) ➤ Mongoid::Criteria
em 9.0.x
Adicione critérios de query polimórficos a um objeto Criteria , se essa associação for polimórfica.
Ao que parece, este método é um artefato que sobrou de uma refatoração que o renomeou como with_polymorphic_criterion e o tornou privado. Independentemente disso, esse método não é referenciado em nenhum outro lugar e é improvável que seja útil para clientes externos. Devemos removê-lo.
148 149 150 151 152 153 154 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 148 def add_polymorphic_criterion(critério, object_class) se polimórfico? critério.ONDE(type => object_class.name) mais critério end end |
#vinculável?(doc) ➤ verdadeiro | false
Se a tentativa de vincular um objeto usando essa associação deve gerar um erro.
170 171 172 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 170 def vinculável?(doc) forced_nil_inverse? || (!!inverso && doc.Campos.keys.incluir?(foreign_key)) end |
#critério(base) ➤ Mongoide::Criteria
Os critérios utilizados para consultar esta associação.
122 123 124 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 122 def critério(base) query_criteria(base.enviar(primary_key), base) end |
#incorporado? ➤ false
Esse tipo de associação está incorporado?
94 95 96 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 94 def false end |
#foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso para salvar a referência de associação.
83 84 85 86 87 88 89 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 83 def foreign_key @foreign_key ||= se @opções[:foreign_key] @opções[:foreign_key].to_s mais default_foreign_key_field end end |
#nested_builder(attributes, opções) ➤Association ::Nested::Many
O objeto de construtor aninhado.
180 181 182 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 180 def nested_builder(attributes, ) Aninhado::Muitos.Novo(auto, attributes, ) end |
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
192 193 194 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 192 def caminho(documento) Mongoid::Atômico::Caminhos::Raiz.Novo(documento) end |
#polimórfico? ➤ verdadeiro | false
Essa associação é polimórfica?
160 161 162 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 160 def polimórfico? @polymorphic ||= !!como end |
#relação ➤Association::HasMany::Proxy
Obtenha a classe de proxy de associação para este tipo de associação.
115 116 117 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 115 def relação Proxy end |
#concern_complements ➤ Array<Mongoid::Association::Relatable>
A lista de complementos de associação.
51 52 53 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 51 def relação_complementos @relation_complements ||= [ Referenciado::Pertence a ].congelar end |
#scope ⇒ Proc | Symbol | nil
Obtenha o escopo a ser aplicado ao consultar a associação.
199 200 201 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 199 def escopo @opções[:scope] end |
#configuração! ➤ auto
Configure os métodos de instância, campos, etc. na classe possuidora da associação.
58 59 60 61 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 58 def configuração! setup_instance_methods! auto end |
#setup_instance_methods! ➤ auto
Configure os métodos de instância na classe que tem este tipo de associação.
66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 66 def setup_instance_methods! define_getter! define_ids_getter! define_setter! define_ids_setter! define_existence_check! define_autosaver! polimorfo! define_dependency! @ Owner_class.validates_associated(name) se validar? auto end |
#stores_foreign_key? ➤ verdadeiro
Esse tipo de associação armazena a chave estrangeira?
108 109 110 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 108 def stores_foreign_key? false end |
#tipo ➤ string | nada
Relevante apenas para associações polimórficas.
O tipo desta associação se for polimórfico.
131 132 133 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 131 def type @type ||= "#{as}_type" se polimórfico? end |
#validation_default ⇒ true
O padrão para validação do objeto de associação.
101 102 103 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 101 def validation_default true end |