В Rails 3, как я обновляю атрибут с условием, как:Как я сделать обновление заявление, где условие
Model.where("state == 'decline'").all.update_attribute(:state, 'deny')
Это, безусловно, не так, но я рисую пробел о том, как достичь это.
В Rails 3, как я обновляю атрибут с условием, как:Как я сделать обновление заявление, где условие
Model.where("state == 'decline'").all.update_attribute(:state, 'deny')
Это, безусловно, не так, но я рисую пробел о том, как достичь это.
ActiveRecord::Relation поставляет update_all
способ.
Model.where(state: 'decline').update_all(state: 'deny')
Вы также можете приковать update_all
от объекта, например:
book.chapters.where(:state => 'draft').update_all(:state => 'unpublished')
быть также осторожными с '.all' метода, он делает вызов дб сразу и преобразует коллекцию в массив. Это очень редко полезно, так как делает производительность ленивой загрузки избыточной. –