Classe: Mongoid::Association::Referenced::HasAndBelongsToMany
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Referenced::HasAndBelongsToMany
- Inclui:
- Buildable, Mongoid::Association::Relatable
- Definido em:
- lib/mongoid/association/referenced/has_and_belongs_to_many.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb
Visão geral
A associação de tipo HasAndBelongsToMany.
Definido sob namespace
Módulos: Construível Classes: Vinculativo, ansioso, 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 autosave before_add before_remove counter_cache dependente foreign_key index order primary_key inverse_primary_key inverse_foreign_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_FIELD_TYPE =
O tipo do campo que contém a chave estrangeira.
Array- FOREIGN_KEY_SUFFIX =
O sufixo de chave estrangeira padrão.
'_ids'
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
-
#vinculável?(doc) ➤ verdadeiro | false
Se a tentativa de vincular um objeto usando essa associação deve gerar um erro.
-
#criteria(base, id_list = nil) ➤ Mongoid::Criteria
Os critérios utilizados para consultar esta associação.
-
#incorporado? ➤ false
Este tipo de associação está incorporado?
-
#force_nil_inverse? ➤ verdadeiro | false
Os IDs são salvos apenas neste lado da associação?
-
#foreign_key ➤ string
Obtenha o campo de chave estrangeira para salvar a referência de associação.
-
#inverse_foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso.
-
#inverse_foreign_key_setter ⇒ String
Obtenha o setter de chave estrangeira no inverso.
-
#nested_builder(attributes, opções) ➤Association::Nested::One
O objeto de construtor aninhado.
-
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
-
#relação ➤Association::HasAndBelongsToMany::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.
-
#stores_foreign_key? ➤ verdadeiro
Esse tipo de associação armazena a chave estrangeira?
-
#validation_default ⇒ false
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, #indexado?, #inverse_of, #order, #polymorphic?., #type
Métodos incluídos no Constrainable
Detalhes do método de instância
#vinculável?(doc) ➤ verdadeiro | false
Se a tentativa de vincular um objeto usando essa associação deve gerar um erro.
143 144 145 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 143 def vinculável?(doc) forced_nil_inverse? || (!!inverso && doc.Campos.keys.incluir?(foreign_key)) end |
#criteria(base, id_list = nil) ➤ Mongoid::Criteria
Os critérios utilizados para consultar esta associação.
117 118 119 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 117 def critério(base, id_list = nada) query_criteria(id_list || base.enviar(foreign_key)) end |
#incorporado? ➤ false
Esse tipo de associação está incorporado?
71 72 73 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 71 def false end |
#force_nil_inverse? ➤ verdadeiro | false
Os IDs são salvos apenas neste lado da associação?
85 86 87 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 85 def forced_nil_inverse? @forced_nil_inverse ||= @opções.chave?(:inverse_of) && !@opções[:inverse_of] end |
#foreign_key ➤ string
Obtenha o campo de chave estrangeira para salvar a referência de associação.
106 107 108 109 110 111 112 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 106 def foreign_key @foreign_key ||= se @opções[:foreign_key] @opções[:foreign_key].to_s mais default_foreign_key_field end end |
#inverse_foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso.
125 126 127 128 129 130 131 132 133 134 135 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 125 def inverse_foreign_key se @opções.chave?(:inverse_foreign_key) @opções[:inverse_foreign_key] elsif @opções.chave?(:inverse_of) inverse_of ? "#{inverse_of.to_s.singularize}#{FOREIGN_KEY_SUFFIX}" : nada elsif inv = inverse_association&.foreign_key inv mais "#{inverse_class_name.demofulize.sublinhado}#{FOREIGN_KEY_SUFFIX}" end end |
#inverse_foreign_key_setter ⇒ String
Obtenha o setter de chave estrangeira no inverso.
151 152 153 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 151 def inverse_foreign_key_setter @inverse_foreign_key_setter ||= "#{inverse_foreign_key}=" se inverse_foreign_key end |
#nested_builder(attributes, opções) ➤Association ::Nested::One
O objeto de construtor aninhado.
161 162 163 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 161 def nested_builder(attributes, ) Aninhado::Muitos.Novo(auto, attributes, ) end |
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
173 174 175 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 173 def caminho(documento) Mongoid::Atômico::Caminhos::Raiz.Novo(documento) end |
#relação ➤Association::HasAndBelongsToMany::Proxy
Obtenha a classe de proxy de associação para este tipo de associação.
99 100 101 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 99 def relação Proxy end |
#concern_complements ➤ Array<Mongoid::Association::Relatable>
A lista de complementos de associação.
56 57 58 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 56 def relação_complementos @relation_complements ||= [ auto.classe ].congelar end |
#scope ⇒ Proc | Symbol | nil
Obtenha o escopo a ser aplicado ao consultar a associação.
180 181 182 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 180 def escopo @opções[:scope] end |
#configuração! ➤ auto
Configure os métodos de instância, campos, etc. na classe possuidora da associação.
63 64 65 66 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 63 def configuração! setup_instance_methods! auto end |
#stores_foreign_key? ➤ verdadeiro
Esse tipo de associação armazena a chave estrangeira?
92 93 94 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 92 def stores_foreign_key? true end |
#validation_default ➤ false
O padrão para validação do objeto de associação.
78 79 80 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 78 def validation_default true end |