2010-10-11 15 views

risposta

9

Quando viene eseguito un callback after_update, ogni oggetto ActiveModel ha un metodo chiamato changed_attributes. Puoi verificarlo nel tuo ambiente di debug. Ogni oggetto ActiveRecord ha questo metodo. Ha un hash di tutti i valori che sono stati modificati/modificati. Questo è anche noto come oggetto sporco.

Date un'occhiata ad alcune di queste esercitazioni

Railscasts

Dirty Object

+1

Grazie! Non importa quanto Rails devo fare, c'è sempre qualcosa di nuovo da imparare. – nfm

1

Ci deve essere qualcosa come seguire nel vostro osservatore.

class ActivityObserver < ActiveRecord::Observer 

    def after_update(activity) 
    if activity.attribute_name_changed? 
     puts "The above condition will return true or false, and this time it has returned true..!!!" 
    end 
    end 

end 

Il metodo sopra farà. Penso che stavi cercando questo ..

Problemi correlati