Hello, I''m hoping some helpful soul may be able to explain to me why certain bits of ActiveRecord are doing what they do. I''ve found a way to make it work, but I don''t actually understand _why_ it works. I have two models, Boy and Girl which have these relationships Boy: has_one :girl Girl: belongs_to :boy In the Boy controller, I do this.. boy = Boy.find(params[:id]) boy.update_car(AstonMartin) # updates the car field from Skoda to AstonMartin & saves boy.girl.marry! My problem is that the girl.marry! method still sees the value of the car field as Skoda. Of course she is not happy & the are many problems... I''ve put some debug messages in.. puts boy.inspect, just before the boy.girl.marry! puts girl.boy.inspect inside the girl.marry! routine The boy.inspect showed an object id of X [not the active record id] and car = AstonMartin The girl.boy.inspect show an object id of Y [not the active record id] and car = Skoda If I do this, all is good boy = Boy.find(params[:id]) boy.update_car(AstonMarton) # updates the car field from Skoda to AstonMartin & saves girl.boy = boy boy.girl.marry! Can someone please shed some light on this & let me know why the extra girl.boy = boy is needed..? Thank you for any assistance, Dave -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---