rails Dirty object concept is not working with nested att

hi,

I want to use dirty object with nested attributes here is my example.

i have form having user and addresses field when i am editing user and
after updating user inside user model i am checking for any field from
user get dirty using @self.changed? method it giving me proper output in
this i am doing @self.address.changed?( I Have polymorphic association
in user and addresses) but it is giving me nil/false if address is
changed but if i am putting @self.changed? in address model it is
giving me proper output.

Please anybody explain me how to use dirty object concept with model
association or with nested attributes?

class User < ActiveRecord::Base

  has_many :addresses, :as =>:addressee, :dependent => :destroy
  accepts_nested_attributes_for :addresses, :allow_destroy => true
   after_update :send_account_updated_email

    def send_account_updated_email
      self.changed //giving correct changed field name

      self.addresses.changed //not working
      self.addresses.first.changed // not working
   end

end

class Address < ActiveRecord::Base

  belongs_to :addressee, :polymorphic => true

end

Hi,

Anybody know how this will work?

Just a hunch, but I think that by the time your after_update runs the
associated objects have already finished saving (so their list of
dirty attributes have clearer). You could validate this by stepping
through AR's save code.

Fred

Frederick Cheung wrote: