Classe: Mongoid::Association::Many
- Herda:
-
Proxy
- Objeto
- 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
Resumo constante
Constantes herdadas do Proxy
Resumo do atributo de instância
Atributos herdados do proxy
#_association, #_base, #_target
Recolhimento do Resumo do método de instância
-
#embranco? ➤ verdadeiro | false
A associação está vazia?
-
#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
Document
de 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 documento 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.
Métodos herdados do Proxy
apply_ordering, #extend_proxies, #initialize, #klass, #reset_unloaded, #substitutable
Métodos incluídos noMarshable
Detalhes do construtor
Esta classe herda um construtor de Mongoid::Association::Proxy
Detalhes do método de instância
#embranco? ➤ verdadeiro | false
A associação está vazia?
22 23 24 |
# Arquivo 'lib/mongoid/association/many.rb', linha 22 def em branco? !algum? 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.
36 37 38 39 40 41 42 43 44 |
# Arquivo 'lib/mongoid/association/many.rb', linha 36 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.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# Arquivo 'lib/mongoid/association/many.rb', linha 59 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 The attributes to search or create with.
@param [ Class ] type The optional type of document to create.
84 85 86 |
# Arquivo 'lib/mongoid/association/many.rb', linha 84 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.
100 101 102 |
# Arquivo 'lib/mongoid/association/many.rb', linha 100 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
114 115 116 |
# Arquivo 'lib/mongoid/association/many.rb', linha 114 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.
124 125 126 |
# Arquivo 'lib/mongoid/association/many.rb', linha 124 def nada? false end |
#respond_to?(nome, include_private = false) ➤ true | false
Como method_missing foi substituído, devemos substituir isso também.
137 138 139 140 |
# Arquivo 'lib/mongoid/association/many.rb', linha 137 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.
148 149 150 |
# Arquivo 'lib/mongoid/association/many.rb', linha 148 def com escopo critério end |
#serializable_hash(options = {}) ⇒ Hash
Obtém o documento 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.
166 167 168 |
# Arquivo 'lib/mongoid/association/many.rb', linha 166 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.
177 178 179 |
# Arquivo 'lib/mongoid/association/many.rb', linha 177 def sem escopo critério.sem escopo end |