Avant les rails 5.1
Ajout de _was
à votre attribut vous donnera la valeur précédente.
Pour les rails 5.1 et plus
Copié de la réponse de Lucas Andrade ci-dessous : https://stackoverflow.com/a/50973808/9359123
Ajout de _was
est déprécié dans rails 5.1, maintenant vous devez ajouter _before_last_save
Quelque chose comme :
before_save object
do_something_with object.name_before_last_save
end
Retournera la valeur du nom avant votre dernière sauvegarde dans la base de données (fonctionne pour la sauvegarde et la création).
La différence entre _was
y _before_last_save
selon la documentation :
C'était source à partir de la documentation
def attribute_was(attr)
attribute_changed?(attr) ? changed_attributes[attr] : __send__(attr)
end
_avant_dernière_save source à partir de la documentation
def attribute_before_last_save(attr_name)
mutations_before_last_save.original_value(attr_name)
end