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.
[ :after_add, :after_remove, :autosave, :before_add, :before_remove, :counter_cache, :dependen, :foreign_key, :index, :order, :primary_key, :inverse_primary_key, :inverse_foreign_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_FIELD_TYPE =
O tipo do campo que contém a chave estrangeira.
Array
- FOREIGN_KEY_SUFFIX =
O sufixo de chave estrangeira padrão.
'_ids'.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
-
#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.
136 137 138 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 136 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.
110 111 112 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 110 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?
73 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 73 def ; false; end |
#force_nil_inverse? ➤ verdadeiro | false
Os IDs são salvos apenas neste lado da associação?
83 84 85 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 83 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.
102 103 104 105 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 102 def foreign_key @foreign_key ||= @opções[:foreign_key] ? @opções[:foreign_key].to_s : default_foreign_key_field end |
#inverse_foreign_key ➤ string
Obtenha o campo de chave estrangeira no inverso.
118 119 120 121 122 123 124 125 126 127 128 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 118 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.
144 145 146 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 144 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.
154 155 156 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 154 def nested_builder(attributes, ) Aninhado::Muitos.Novo(auto, attributes, ) end |
#caminho(documento) ➤ Raiz
Obtenha a calcula de caminho para o documento fornecido .
166 167 168 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 166 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.
95 96 97 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 95 def relação Proxy end |
#concern_complements ➤ Array<Mongoid::Association::Relatable>
A lista de complementos de associação.
58 59 60 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 58 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.
173 174 175 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 173 def escopo @opções[:scope] end |
#configuração! ➤ auto
Configure os métodos de instância, campos, etc. na classe possuidora da associação.
65 66 67 68 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 65 def configuração! setup_instance_methods! auto end |
#stores_foreign_key? ➤ verdadeiro
Esse tipo de associação armazena a chave estrangeira?
90 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 90 def stores_foreign_key?; true; end |
#validation_default ➤ false
O padrão para validação do objeto de associação.
78 |
# Arquivo 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', linha 78 def validation_default; true; end |