update_attribute 文档里就说会触发,但到底是会触发跟 update 有关的回调,还是触发所有回调没有说清楚。
会触发。
会触发回调。。。#update_attribute 方法在调用失败的时候不会触发 exception
# File activerecord/lib/active_record/persistence.rb, line 237 def update_attribute(name, value) name = name.to_s verify_readonly_attribute(name) send("#{name}=", value) save(validate: false) end
我的理解是update_attribute方法里面有 save 操作,所以会调用 before_save 方法。
update_attribute