So is this a known bug? Is this fixed in 2.2.2? I'm currently running
rails 2.1.1.

On Jan 6, 12:32 pm, Frederick Cheung <[email protected]>
wrote:
> On Jan 6, 2:21 pm, Mark Reginald James <[email protected]> wrote:
>
> > Frederick Cheung wrote:
> > > Even if it were setting it on the in memory object it wouldn't be in  
> > > memory object you think it is. Because a was reloaded, the objects in  
> > > a.steps are not the objects b & c (although they do correspond to the  
> > > same database rows).
>
> > The problem happens before a is reloaded.
>
> > I just did some experiments with puzzling results.
> > Would you be able to help explain them Fred?
>
> > Loading development environment (Rails 2.2.2)
> >  >> a = Exercise.find(1)
> > => #<Exercise id: 1>
> >  >> b = Step.new
> > => #<Step id: nil, exercise_id: nil>
> >  >> b.save
> > => true
> >  >> c = Step.new
> > => #<Step id: nil, exercise_id: nil>
> >  >> c.save
> > => true
> >  >> a.steps << b
> > => [#<Step id: 19, exercise_id: 1>]
> >  >> a.steps << c
> > => [#<Step id: 19, exercise_id: 1>, #<Step id: 20, exercise_id: 1>]
> >  >> b.object_id
> > => 70254505869500
> >  >> a.steps.first.object_id
> > => 70254505813160
> >  >> c.object_id
> > => 70254505838840
> >  >> a.steps.last_object_id
> > => 70254505838840
>
> > Why does only the first object in the collection
> > have a different object_id, and why does this
> > difference go away if the empty a.steps is loaded
> > before b is added?  Is it a proxy thing?
>
> Because .first will hit the database and load a fresh copy (if the
> collection is not already loaded). I waffled about this a bit a while
> ago:http://www.spacevatican.org/2008/11/15/first-foremost-and-0
>
> Fred
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to