主要有 4 种方式:
update_columns 和 update_column 它们都是直接执行 SQL 语句,不会触发回调方法。
使用举例:
user.update_columns(last_request_at: Time.current)
save(:validate => false)
跳过 Model 里的所有校验。
skip_callback 跳过某个回调。
class Writer < Person skip_callback :validate, :before, :check_membership, if: -> { self.age > 18 } end
x_without_callbacks 以 object.send(:x_without_callbacks) 跳过某个系列的回调。
object.send(:create_without_callbacks) object.send(:update_without_callbacks)
最后更新于4年前