Can you update a db record without first retrieving it?


#1

Folks,

I display a set of records to the user who can make changes to one or
more of those records. When the user saves the changes, I get them back
in an array that contains only the changed records - with both the
modified an unmodified attributes for each record. This array also has
the unique id for each record.

What is the best/fastest way for me to update the records in the db? Or
do I just have to iterate through the array, retrieving each record
again from the db and setting up the call to update_attributes by
retrieving each attribute individually from the array?

It feels so unlike rails to have to do that and sounds like there must
be a more efficient way to get all the changed data from the array to
the database perhaps in a single call.

Appreciate any pointers or help. I am using Rails 2.2 if that is a
factor in your answer.

Thanks,
-S


#2

On Mar 11, 3:14 am, Sj Tib removed_email_address@domain.invalid wrote:

What is the best/fastest way for me to update the records in the db? Or
do I just have to iterate through the array, retrieving each record
again from the db and setting up the call to update_attributes by
retrieving each attribute individually from the array?

Have a look at the update_all method in the api docs.

Fred