Updating referenced table


#1

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


#2

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

(:status=>'read',:conditions['records.name=?',books.name])

end

end

Posted via http://www.ruby-forum.com/.


jan=callcc{|jan|jan};jan.call(jan)


#3

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