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: