Hi there,
I'm having a strange issue with active record in 2.3.2 development env
whereby an update_ attribute within a loop only gets written to the db
if I write (anything) to the logfile, or set a sleep of somewhere
between 0.5 and 1 second.

The function is a remotely called drag and drop list sorter:

  def sort
    i = 1
    params[:cv].each {
      |id|
      if cv_type = current_user.cv_types.find(id)
        if cv_type.update_attribute(:position, i)
          sleep 1 # if I remove this it doesn't work any more
          i = i+1
        end
      end
    }
    render :nothing => true
  end

and from the logfile without the sleep command:

  CvType Load (0.2ms)   SELECT * FROM `cv_types` WHERE
(`cv_types`.`id` = 5 AND (`cv_types`.user_id = 1)) ORDER BY position
  SQL (0.1ms)   BEGIN
  SQL (0.1ms)   COMMIT
  CvType Load (0.4ms)   SELECT * FROM `cv_types` WHERE
(`cv_types`.`id` = 4 AND (`cv_types`.user_id = 1)) ORDER BY position
  SQL (0.1ms)   BEGIN
  SQL (0.1ms)   COMMIT

and then with the sleep command:

  CvType Load (0.5ms)   SELECT * FROM `cv_types` WHERE
(`cv_types`.`id` = 4 AND (`cv_types`.user_id = 1)) ORDER BY position
  SQL (0.1ms)   BEGIN
  CvType Update (0.2ms)   UPDATE `cv_types` SET `position` = 1 WHERE
`id` = 4
  SQL (0.5ms)   COMMIT
  CvType Load (0.4ms)   SELECT * FROM `cv_types` WHERE
(`cv_types`.`id` = 5 AND (`cv_types`.user_id = 1)) ORDER BY position
  SQL (0.1ms)   BEGIN
  CvType Update (0.2ms)   UPDATE `cv_types` SET `position` = 2 WHERE
`id` = 5
  SQL (0.6ms)   COMMIT

Surely that isn't normal?
I don't mind writing to the logfile, but it seems that something else
is afoot. and I can't think what.

Any insight would be very helpful.
thanks,
dorian

--~--~---------~--~----~------------~-------~--~----~
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