2010-09-12 3 views

Répondre

10

ActiveRecord fournit un ensemble de méthodes qui fonctionnent sur les attributs "Dirty".

Dans votre cas, vous pouvez appeler title_was pour obtenir la plus récente version enregistrée de cette variable

+0

Tha nxs! Je n'ai pas réussi à le trouver dans l'API. Mais je ne savais pas ce que je cherchais: P .. – heldopslippers

0

Si vous voulez connaître tous les attributs modifiés et leurs anciennes valeurs que vous pouvez utiliser changed_attributes méthode qui retournera hachage qui contient tous les attributs modifiés avec leurs valeurs précédentes (notez que le contenu de hachage peut être récupéré avant d'enregistrer le nouvel objet).

supposons que vous avez un objet avec old_name titre:

a = YourModel.where(:title => "old_name") 
a.title = "new_title" 
a.changed_attributes 

Les résultats seront ": {" title "=>" OLD_NAME "}

Mais après enregistrer vos modifications:

a.save 
a.changed_attributes 

Les résultats seront hachage vide: {}

Questions connexes