#mysql #ruby-on-rails #sql-update
#mysql #ruby-on-rails #sql-обновление
Вопрос:
Прямо сейчас я использую методы Rails AR для обновления множества атрибутов в таблице.
RaceWeek.current_week.each { |r| r.update_attributes(:games_won => 0, :games_lost => 0) }
Я бы предпочел сделать это более эффективно за одну транзакцию. Как это можно сделать?
Комментарии:
1. current_week — это named_scope, который возвращает все записи за неделю гонки, относящиеся к указанному периоду времени.
Ответ №1:
Используйте update_all
:
<model/association>.update_all("games_won = 0, games_lost = 0" )
Ps. Используйте какую-либо форму из приведенных выше, потому что я не знаю, каково отношение RaceWeek
к current_week
.
Также смотрите некоторые примеры