Classe: Mongoid::Association::Referenced::HasMany
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Referenced::HasMany
- Inclui:
- Buildable, Mongoid::Association::Relatable
- 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.
[ :after_add, :after_remove, :as, :autosave, :before_add, :before_remove, :dependen, :foreign_key, :order, :primary_key, :scope, ].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'.congelar
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, #parent_inclusions
Recolhimento do Resumo do método de instância
-
#add_polymorphic_criterion(criteria, object_class) ➤ Mongoid::Criteria
Adicione critérios de query polimórficos a um objeto Criteria , se essa associação for polimórfica.
-
#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 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
Adicione critérios de query polimórficos a um objeto Criteria, se esta associação for
polymorphic.
134 135 136 137 138 139 140 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 134 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.
155 156 157 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 155 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.
114 115 116 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 114 def critério(base) query_criteria(base.enviar(primary_key), base) end |
#incorporado? ➤ false
Esse tipo de associação está incorporado?
92 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 92 def ; false; end |
#foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso para salvar a referência de associação.
84 85 86 87 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 84 def foreign_key @foreign_key ||= @opções[:foreign_key] ? @opções[:foreign_key].to_s : default_foreign_key_field end |
#nested_builder(attributes, opções) ➤Association ::Nested::Many
O objeto de construtor aninhado.
165 166 167 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 165 def nested_builder(attributes, ) Aninhado::Muitos.Novo(auto, attributes, ) end |
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
177 178 179 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 177 def caminho(documento) Mongoid::Atômico::Caminhos::Raiz.Novo(documento) end |
#polimórfico? ➤ verdadeiro | false
Essa associação é polimórfica?
145 146 147 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 145 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.
107 108 109 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 107 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.
184 185 186 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 184 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?
102 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 102 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.
123 124 125 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 123 def type @type ||= "#{as}_type" se polimórfico? end |
#validation_default ⇒ true
O padrão para validação do objeto de associação.
97 |
# File 'lib/mongoid/association/referenced/has_many.rb', linha 97 def validation_default; true; end |