Classe: Mongoid::Association::Referenced::BelongsTo

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Buildable, Mongoid::Association::Relatable
Definido em:
lib/mongoid/association/referenced/belongs_to.rb,
lib/mongoid/association/referenced/belongs_to/eager.rb,
lib/mongoid/association/referenced/belongs_to/proxy.rb,
lib/mongoid/association/referenced/belongs_to/binding.rb,
lib/mongoid/association/referenced/belongs_to/buildable.rb

Visão geral

A associação de tipoBelongsTo.

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.

Retorna:

  • (Array<Símbolo><Symbol>)

    As opções extras válidas.

%i[
  autobuild
  autosave
  counter_cache
  dependente
  foreign_key
  index
  Polimórfico
  primary_key
  toque
  opcional
  necessário
  escopo
].congelar
VALID_OPTIONS =

A lista completa de opções válidas para esta associação, incluindo as compartilhadas.

Retorna:

  • (Array<Símbolo><Symbol>)

    As opções válidas.

(ASSOCIATION_OPTIONS + SHARED_OPTIONS).congelar
FOREIGN_KEY_FIELD_TYPE =

O tipo do campo que contém a chave estrangeira.

Retorna:

  • (Objeto)
Objeto
FOREIGN_KEY_SUFFIX =

O sufixo de chave estrangeira padrão.

Retorna:

  • (string)

    '_id'

'_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

Métodos incluídos do Buildable

#build

Métodos incluídos do Mongoid::Association::Relatable

#==, #bindable?, #counter_cache_column_name, #create_relation, #destructive?, #extensão , #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to ? . _ _ _ _ _ _ _ _ _, #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?,..., #type

Métodos incluídos no Constrainable

#convert_to_foreign_key

Detalhes do método de instância

#incorporado?false

Esse tipo de associação está incorporado?

Retorna:

  • (falso)

    Sempre falso.



77
78
79
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 77

def incorporado?
  false
end

#foreign_key ➤ string

Obtenha o campo de chave estrangeira para salvar a referência de associação.

Retorna:

  • (string)

    O campo de chave estrangeira para salvar a referência de associação.



91
92
93
94
95
96
97
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 91

def foreign_key
  @foreign_key ||= se @opções[:foreign_key]
                     @opções[:foreign_key].to_s
                   mais
                     default_foreign_key_field
                   end
end

#inverse_typeString

O nome do campo utilizado para armazenar o tipo de associação polimórfica.

Retorna:

  • (string)

    O campo usado para armazenar o tipo de associação polimórfica.



131
132
133
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 131

def inverse_type
  (@inverse_type ||= "#{name}_type") se polimórfico?
end

#nested_builder(attributes, opções) ➤Association ::Nested::One

O objeto de construtor aninhado.

Parâmetros:

  • attributes (Hash)

    Os atributos a serem utilizados para construir o objeto de associação.

  • opções (Hash)

    As opções para a associação.

Retorna:



141
142
143
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 141

def nested_builder(attributes, opções)
  Aninhado::Um.Novo(auto, attributes, opções)
end

#caminho(documento) ➤ Raiz

Obtenha a calcula de caminho para o documento fornecido .

Exemplos:

Obtenha a calcula de caminho.

association.path(document)

Parâmetros:

  • documento (Documento)

    O documento para calcular.

Retorna:

  • (Raiz)

    A Calculadora de Caminho Atômico Raiz.



153
154
155
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 153

def caminho(documento)
  Mongoid::Atômico::Caminhos::Raiz.Novo(documento)
end

#polimórfico?verdadeiro | false

Essa associação é polimórfica?

Retorna:

  • (verdadeiro | falso)

    Se esta associação é polimórfica.



109
110
111
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 109

def polimórfico?
  @polymorphic ||= !!@opções[:polymorphic]
end

#relação ➤Association::BelongsTo::Proxy

Obtenha a classe de proxy de associação para este tipo de associação.

Retorna:

  • (Associação::BelongsTo::Proxy)

    A classe proxy.



102
103
104
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 102

def relação
  Proxy
end

#concern_complements ➤ Array<Mongoid::Association::Relatable>

A lista de complementos de associação.

Retorna:



54
55
56
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 54

def relação_complementos
  @relation_complements ||= [ Tem muitos, Tem um ].congelar
end

#resolvedornil | Mongoid::ModelResolver

Retorna o objeto responsável por converter referências de tipo polimórfico em objetos de classe e vice-versa. Isso é obtido por meio da opção :polymorphic que foi fornecida quando a associação foi definida.

Consulte Mongoid::ModelResolver.resolver para saber como a opção :polymorphic é interpretada aqui.

Retorna:

Aumenta:

  • KeyError se nenhum resolvedor desse tipo tiver sido registrado com o identificador fornecido.



124
125
126
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 124

def resolvedor
  @resolver ||= Mongoid::ModelResolver.resolvedor(@opções[:polymorphic])
end

#scopeProc | Symbol | nil

Obtenha o escopo a ser aplicado ao consultar a associação.

Retorna:

  • (Proc | Symbol | nil)

    O escopo da associação, se houver.



160
161
162
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 160

def escopo
  @opções[:scope]
end

#configuração!auto

Configure os métodos de instância, campos, etc. na classe possuidora da associação.

Retorna:

  • (self)


61
62
63
64
65
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 61

def configuração!
  setup_instance_methods!
  @ Owner_class.aliased_fields[name.to_s] = foreign_key
  auto
end

#stores_foreign_key?verdadeiro

Esse tipo de associação armazena a chave estrangeira?

Retorna:

  • (verdadeiro)

    Sempre verdadeiro.



70
71
72
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 70

def stores_foreign_key?
  true
end

#validation_defaultfalse

O padrão para validação do objeto de associação.

Retorna:

  • (falso)

    Sempre falso.



84
85
86
# File 'lib/mongoid/association/referenced/belongs_to.rb', linha 84

def validation_default
  false
end