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