updating referenced table

I have the following two tables books and records

fields for books table: id, name fields for records table:id, name, status

I would like to insert value 'read' to status field in records table when name matches name in books table. Tried the following but no luck. I would appreciae if someone can lead me to the right direction.

def update_status   @books=Book.find(:all)

  for book in @books   Record.update_attributes     (:status=>'read',:conditions['records.name=?',books.name])   end

end

* Katsuo Isono <rails-mailing-list@andreas-s.net> [2008-10-05 13:41:43 +0200]:

I have the following two tables books and records

fields for books table: id, name fields for records table:id, name, status

I would like to insert value 'read' to status field in records table when name matches name in books table. Tried the following but no luck. I would appreciae if someone can lead me to the right direction.

def update_status   @books=Book.find(:all)

  for book in @books   Record.update_attributes

I think you should use ActiveRecord.update_all instead of ActiveRecord#update_attributes, which is an instance method.

Jan

I got the result with the following:

def update_status   @books=Book.find(:all)

  for book in @books     Record.update_all("status='read' where name='#{book.name}'")   end

end

Many thanks FB