标签: ruby-on-rails
当我更新所有作者 papertrail不会在版本表中创建记录b' coz update_all wan触发ActiveRecord回调
Billing.update_all( "author = 'David'", "title LIKE '%Rails%'" )
答案 0 :(得分:0)
ActiveRecord update_all不会实例化对象,也不会触发回调。从版本6.0.2开始,使用update_all或批量更新时,Airblade仍然不会在版本表中插入新版本。请参阅问题#337
update_all
如果您一次处理少量数据,可以通过在Rails 5 docs中的关系上调用update来触发回调。
update
Billing.where("title LIKE '%Rails%'").update(author: 'David')
如果您使用的是以前版本的Rails,则需要遍历对象集合并在每个实例上调用update。