Perhaps this is a Rails issue.  However, I need to first determine whether 
I simply am missing something about updating members of an array.

I have an array of 10 ActiveRecord objects.  I wish to iterate over the 
array and update an attribute.  When I do this the underlying table row 
changes but the object in the array frequently does not. For example:

  count = 0
  current_entries.each do |entry|
    puts( entry.object_id )
    puts( current_entries[count].object_id )
    puts( "***" )
    puts( entry.lock_version )
    entry = set_customs_entry_status_for( entry, status )
    puts( entry.lock_version )
    current_entries[ count ] = entry
    puts( current_entries[ count ] = entry )
  end

gives:
      58380880
      58380880
      ***
      0
      5
      5
      58378260
      61590300
      ***
      0
      5
      5
      58377460
      58392560
      ***
.  .  .

immediately followed by:

  current_entries.each do |entry|
    puts( entry.lock_version )
  end

gives:
      0
      5
      5
      5
      0
      0
      0
      0
      0
      0
      0
      0
      0

Does anyone see what it is that I am doing wrong?  Why are some, but not 
all, of the objects in the array unchanged?

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/GyCbUSOn50wJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to