I have 2 model which look like this: class Shift<ActiveRecord::Base belongs_to :person end class Person<ActiveRecord::Base has_many :shifts has_one :open_shift, :classname => ''Shift'', :conditions => [''open = ?'', true], :order => ''id desc'' end So a person works many shifts, and may have a shift which is currently active, which i''ve called an open_shift. I''ve noticed the following behaviour, which seems a little to me. Assume bob is an instance of person, and that bob has an open_shift If I do: open = bob.open_shift open_2 = Shift.find(open.id) open_2.open = false open_2.save! open.reload Then open will be nil, I wouldn''t have expected that at all. if i do open2.reload then open_2 is not nilled out. It''s as if open remembers where it comes from and is actually do the full find when I call reload, rather than just reloading the Shift with the appropriate id. Can anyone shed some light on this? Fred -- 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 -~----------~----~----~----~------~----~------~--~---