Если вы действительно хотите обновить все записи, самый простой способ - использовать # update_all :
User.update_all(:flag => false)
Это эквивалент:
UPDATE users SET flag = 'f'
(точный SQL будет отличаться в зависимости от вашего адаптера)
Метод #update_all также принимает условия:
User.update_all({:flag => false}, {:created_on => 3.weeks.ago .. 5.hours.ago})
Кроме того, #update_all можно комбинировать с именованными областями:
class User < ActiveRecord::Base
named_scope :inactive, lambda {{:conditions => {:last_login_at => 2.years.ago .. 2.weeks.ago}}
end
User.inactive.update_all(:flag => false)