Classe: Mongoid::Association::Many
- Herda:
-
Associação::Proxy
- Objeto
- Associação::Proxy
- Mongoid::Association::Many
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável
- Definido em:
- lib/mongoid/association/many.rb
Visão geral
Esta é a superclasse para todos os proxies de associação muitos para um e muitos para muitos.
Subclasses conhecidas diretas
Recolhimento do Resumo do método de instância
-
#embranco? ➤ verdadeiro | false
A associação está vazia?
-
#cache_version(timestamp_column = :updated_at) ⇒ string
Para compatibilidade com o cache do Rails.
-
#create(attributes = nil, type = nil, &block) ➤ Documento
Cria um novo documento na associação de muitas referências.
-
#criar!(attributes = nil, type = nil, &block) ➤ Documento
Cria um novo documento na associação de muitas referências.
-
#find_or_create_by(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro documento de acordo com as condições ou crie um novo documento com as condições que foram fornecidas.
-
#find_or_create_by!(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro documento de acordo com as condições ou crie um novo documento com as condições que foram fornecidas.
-
#find_or_initialize_by(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro
Documentde acordo com as condições ou instancie um novo documento com as condições que foram fornecidas. -
#nil? ➤ false
Essa proxy nunca pode ser nula.
-
#respond_to?(nome, include_private = false) ➤ true | false
Como method_missing foi substituído, devemos substituir isso também.
-
#com escopo ➤ Critérios
Este é o acesso público aos critérios da associação.
-
#serializable_hash(options = {}) ⇒ Hash
Obtém o document como um hash serializável, usado pelos serializadores JSON e XML do ActiveModel.
-
#sem escopo ➤ Critérios
Obtenha critérios para os documentos incorporados sem o escopo padrão aplicado.
Detalhes do método de instância
#embranco? ➤ verdadeiro | false
A associação está vazia?
28 29 30 |
# Arquivo 'lib/mongoid/association/many.rb', linha 28 def em branco? !algum? end |
#cache_version(timestamp_column = :updated_at) ⇒ string
Para compatibilidade com o cache do Rails. Retorna uma string com base no registro de data/hora fornecido e inclui o número de registros na relação na versão.
195 196 197 198 |
# Arquivo 'lib/mongoid/association/many.rb', linha 195 def cache_version( = :updated_at) @cache_version ||= {} @cache_version[] ||= compute_cache_version() end |
#create(attributes = nil, type = nil, &block) ➤ Documento
Cria um novo documento na associação de muitas referências. Isso salvará o documento se o pai tiver sido persistente.
42 43 44 45 46 47 48 49 50 |
# Arquivo 'lib/mongoid/association/many.rb', linha 42 def criar(attributes = nada, type = nada, &noum: bloco ; verb: bloquear) se attributes.is_a?(::Array) attributes.map { |attrs| criar(attrs, type, &noum: bloco ; verb: bloquear) } mais doc = COMPILAR(attributes, type, &noum: bloco ; verb: bloquear) _base.persistiu? ? doc.Salvar : create_unsaved(doc) doc end end |
#criar!(attributes = nil, type = nil, &block) ➤ Documento
Cria um novo documento na associação de muitas referências. Isso salvará o documento se o pai tiver sido persistente e gerará um erro se a validação falhar.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# Arquivo 'lib/mongoid/association/many.rb', linha 65 def criar!(attributes = nada, type = nada, &noum: bloco ; verb: bloquear) se attributes.is_a?(::Array) attributes.map { |attrs| criar!(attrs, type, &noum: bloco ; verb: bloquear) } mais doc = COMPILAR(attributes, type, &noum: bloco ; verb: bloquear) Array(doc).cada fazer |doc| doc.tentar(:run_pending_callbacks) end _base.persistiu? ? doc.save! : create_unsaved(doc) doc end end |
#find_or_create_by(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro documento de acordo com as condições ou crie um novo documento com as condições que foram fornecidas.
@param [ Hash ] attrs Os atributos para pesquisar ou criar. @param [ classe ] type O tipo opcional de document a ser criado.
90 91 92 |
# Arquivo 'lib/mongoid/association/many.rb', linha 90 def find_or_create_by(attrs = {}, type = nada, &noum: bloco ; verb: bloquear) find_or(:create, attrs, type, &noum: bloco ; verb: bloquear) end |
#find_or_create_by!(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro documento de acordo com as condições ou crie um novo documento com as condições que foram fornecidas. Isso gerará um erro se a validação falhar.
106 107 108 |
# Arquivo 'lib/mongoid/association/many.rb', linha 106 def find_or_create_by!(attrs = {}, type = nada, &noum: bloco ; verb: bloquear) find_or(:create!, attrs, type, &noum: bloco ; verb: bloquear) end |
#find_or_initialize_by(attrs = {}, type = nil, &block) ➤ Documento
Encontre o primeiro Document de acordo com as condições ou instancie um novo documento com as condições que foram fornecidas
120 121 122 |
# Arquivo 'lib/mongoid/association/many.rb', linha 120 def find_or_initialize_by(attrs = {}, type = nada, &noum: bloco ; verb: bloquear) find_or(:build, attrs, type, &noum: bloco ; verb: bloquear) end |
#nil? ⇒ false
Essa proxy nunca pode ser nula.
130 131 132 |
# Arquivo 'lib/mongoid/association/many.rb', linha 130 def nada? false end |
#respond_to?(nome, include_private = false) ➤ true | false
Como method_missing foi substituído, devemos substituir isso também.
143 144 145 146 |
# Arquivo 'lib/mongoid/association/many.rb', linha 143 def respond_to?(name, include_private = false) [].respond_to?(name, include_private) || classe.respond_to?(name, include_private) || super end |
#com escopo ➤ Critérios
Este é o acesso público aos critérios da associação.
154 155 156 |
# Arquivo 'lib/mongoid/association/many.rb', linha 154 def com escopo critério end |
#serializable_hash(options = {}) ⇒ Hash
Obtém o document como um hash serializável, usado pelos serializadores JSON e XML do ActiveModel. Essa substituição é apenas para poder passar as opções :include e :exceto para obter associações no hash.
172 173 174 |
# Arquivo 'lib/mongoid/association/many.rb', linha 172 def serializable_hash( = {}) _target.map { |documento| documento.serializable_hash() } end |
#sem escopo ➤ Critérios
Obtenha critérios para os documentos incorporados sem o escopo padrão aplicado.
183 184 185 |
# Arquivo 'lib/mongoid/association/many.rb', linha 183 def sem escopo critério.sem escopo end |