Módulo: Mongoid::Attributes::Nested::ClassMethods
- Definido en:
- lib/mongoid/attributes/nested.rb
Resumen de constantes colapsar
- REJECT_ALL_BLANK_PROC =
lambda { |atributos| atributos.¿todos? { |llave, Valor| llave == '_destroy' || Valor.blank? } }
Resumen del método de instancia colapsar
-
#accepts_nested_attributes_for(*args) ⇒ Objeto
Se utiliza cuando se necesita actualizar modelos relacionados desde una asociación principal.
Detalles del método de instancia
#accepts_nested_attributes_for(*args) ⇒ objeto
Se utiliza cuando se necesitan actualizar modelos relacionados desde una asociación madre. Se puede usar en asociaciones embebidas o referenciadas.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# Archivo 'lib/mongoid/attributes/nested.rb', línea 45 def accepts_nested_attributes_for(*args) = args..dup [:autosave] = true si [:autosave].nil? [reject_if] = RECHAZAR_TODOS_PROC_EN_BLANCO si [reject_if] == :all_blank args.cada hacer |Nombre| meta = "#{nombre}_attr=" atributos_anidados["#{nombre}_atributos"] = meta asociación = relaciones[Nombre.to_s] propagar Errors::NestedAttributesMetadataNotFound.Nuevo(sí mismo, Nombre) a menos que asociación autosave_nested_attributes(asociación) si [:autosave] re_define_method(meta) hacer |attrs| asignando hacer si asociación.polimórfico? y asociación.inverse_type klass = asociación.resolver.modelo_para(enviar(asociación.inverse_type)) = .¡Actualizar!(class_name: klass) end asociación.nested_builder(attrs, ).compilar(sí mismo) end end end end |