Módulo: Mongoid::Persistable::Renamable
- Ampliado por:
- ActiveSupport::Preocupación
- Incluido en:
- Mongoid::Persistable
- Definido en:
- lib/mongoid/persistable/renamable.rb
Overview
Define el comportamiento de las operaciones $rename.
Colapso del resumen del método de instancia
-
#renombrar(renombrar) ⇒ Documento
Cambie el nombre de los campos de un valor a otro mediante $rename.
Detalles del método de instancia
#renombrar(renombrar) ⇒ Documento
Nota:
Esto no funciona para campos en incrustaciones que tienen muchas asociaciones.
Cambie el nombre de los campos de un valor a otro mediante $rename.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# Archivo 'lib/mongoid/persistable/renamable.rb', línea 21 def renombrar(cambia el nombre) preparar_operación_atómica hacer |ops| operaciones atómicas del proceso(cambia el nombre) hacer |campo antiguo, nuevo_campo| new_name = nuevo_campo.a_s Si ejecutando_atómicamente? atributo_de_proceso new_name, atributos[campo antiguo] atributo_de_proceso campo antiguo, nulo else atributos[new_name] = atributos.borrar(campo antiguo) end ops[nombre_del_atributo_atómico(campo antiguo)] = nombre_del_atributo_atómico(new_name) end { "$rename" => ops } end end |