2010-07-21 7 views

Répondre

5

Vous pouvez utiliser Dirty Objects pour y parvenir, dans ce cas précis, vous aurez quelque chose comme ceci dans votre observateur.

FooMailer.deliver_alert(foo) if foo.price_changed? 

Selon: « Une fois que vous enregistrez un objet sale, il efface son suivi de l'état changé et est à nouveau considéré comme inchangé » Vous devriez demander la prince_changed? avant l'opération save est fait.

Espérons que ça vous aide.

+0

Mon mystère en grammaire. Je veux envoyer l'alerte quand le prix change, pas "seulement" le prix. Ce que j'ai essayé de signifier, c'est que je ne veux pas d'alerte lorsque d'autres attributs changent. Pardon. J'ai édité ma question. Pouvez-vous mettre à jour votre réponse? –

+0

Mis à jour, maintenant Il utilise une méthode dynamique (truc cool) :). – jpemberthy

Questions connexes