rails Dirty object concept is not working with nested att

166 views
Skip to first unread message

Sunny Bogawat

unread,
Sep 21, 2010, 7:10:11 AM9/21/10
to rubyonra...@googlegroups.com
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
--
Posted via http://www.ruby-forum.com/.

Sunny Bogawat

unread,
Sep 24, 2010, 2:15:11 AM9/24/10
to rubyonra...@googlegroups.com
Hi,

Anybody know how this will work?

Frederick Cheung

unread,
Sep 24, 2010, 3:51:28 AM9/24/10
to Ruby on Rails: Talk
On Sep 21, 12:10 pm, Sunny Bogawat <li...@ruby-forum.com> wrote:
> 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?
>

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

Sunny Bogawat

unread,
Sep 24, 2010, 3:59:50 AM9/24/10
to rubyonra...@googlegroups.com

Fred, you're right and I have validated the same. I was hoping that
someone else may have come up with a solution to this. Looks like,
that;s not the case. Does anybody have suggestions?

Reply all
Reply to author
Forward
0 new messages