Proyecto

General

Perfil

Acciones

Correccion - Mejora #5561

cerrada

[Rails 5.2] Sustituir forma de acceder a nivel general sobre si un campo ha sido modificado

Añadido por Oscar Abad hace 2 meses. Actualizado hace 26 días.

Estado:
Resuelta
Prioridad:
Normal
Asignado a:
Categoría:
Desarrollo
Versión prevista:
Fecha de inicio:
2024-09-23
Fecha fin:
% Realizado:

100%

Tiempo estimado:
Versión:

Descripción

Especificación

Debido a una incompatibilidad de código que surge a partide de Rails 5.2, hay que:
  • OBLIGATORIO validate, before_X filter:
    Sustituir todas las ocurrencias de CAMPO_changed? a saved_change_to_CAMPO?
    
  • OPCIONAL after_X filter:
    Sustituir todas las ocurrencias de CAMPO_changed? a will_save_change_to_CAMPO?
    

Para más detalles consultar aquí:
https://stackoverflow.com/questions/3861777/determine-what-attributes-were-changed-in-rails-after-save-callback
https://stackoverflow.com/questions/24314584/run-a-callback-only-if-an-attribute-has-changed-in-rails
https://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Dirty.html

La incidencia ha sido detectada a partir de este ticket creado por el departamento de Gestión de proyectos:
https://dev.intranet.oei.int/issues/1990

Implementación

https://git.semillasl.com/gong/gor/-/merge_requests/58/diffs

Acciones #1

Actualizado por Oscar Abad hace 2 meses

Acciones #2

Actualizado por Oscar Abad hace 2 meses

  • Asunto cambiado de [Rails 5.2] Sustituir a [Rails 5.2] Sustituir forma de acceder a nivel general sobre si un campo ha sido modificado
Acciones #3

Actualizado por Oscar Abad hace 2 meses

Acciones #4

Actualizado por Oscar Abad hace 2 meses

Acciones #5

Actualizado por Oscar Abad hace 2 meses

  • Se actualizó Descripción (diferencias)
  • Estado cambiado de Nueva a En Curso
Acciones #6

Actualizado por Oscar Abad hace alrededor de 2 meses

  • Estado cambiado de En Curso a Resuelta
  • % Realizado cambiado de 0 a 100
Acciones #8

Actualizado por suela suela hace 26 días

¿Puede que en la descripción del ticket esté al revés lo que hay que cambiar respecto a los before_save y after_save?

Según leo en https://www.fastruby.io/blog/rails/upgrades/active-record-5-1-api-changes, lo pone al revés:

  • Cambios obligados, en after_save:
    • attribute_changed? -> saved_change_to_attribute?
    • changed? -> saved_changes?
    • changes -> saved_changes
    • previous_changes has no replacement, since the behavior for it changes.
    • changed -> saved_changes.keys
  • Cambios sugeridos(opcional), en before_save:
    • attribute_changed? -> will_save_change_to_attribute?
    • changed? -> has_changes_to_save?
    • changes -> changes_to_save
Acciones

Exportar a: Atom PDF