トランザクション内で複数のレコードを更新しようとしています。
ある条件に合致するデータをwhere
で取得してもActiveRecord::Relation
にはupdate!
がなかったので例外が投げれません。
update
のソースをみてもそれぞれのレコードにupdate
をかけてるだけだったのでeach
とかで無理やりupdate!
をかけるしかないのでしょうか?
ruby
1# File activerecord/lib/active_record/relation.rb, line 363 2 def update(id, attributes) 3 if id.is_a?(Array) 4 id.map.with_index { |one_id, idx| update(one_id, attributes[idx]) } 5 else 6 object = find(id) 7 object.update(attributes) 8 object 9 end 10 end
あなたの回答
tips
プレビュー