2016-02-18 4 views
0

У меня есть модель, foo.rb. Пользователь может иметь много «foos». Я хочу, чтобы выбрать конкретный «Foo», вносить изменения в их столбца таблицы затем сохранить все сразу:Итерация через ActiveRecord_Relation, внести изменения, затем сохранить

f = Foo.where(bar: 1) # returns, say, four objects. 

Теперь я хочу изменить: bar: 10, а затем сохранить:

f.map do |x| x.bar = 10 end 

Как Вы экономите? Я не могу понять это в irb. Возможно ли это с меньшим количеством кода?

ответ

1

Вы можете использовать update_all:

Foo.where(bar: 1).update_all(bar: 10) 
+0

Так просто и чисто. Благодарю. – Sylar

Смежные вопросы