我还是 Ruby on Rails 的新手,在我的模型中我经常这样做:
def activate
update_column(:activated, true)
update_column(:activated_at, Time.zone.now)
update_column(:activation_token, nil)
end
如果我改为这样做有什么不同?
def activate
self.activated = true
self.activated_at = Time.zone.now
self.activation_token = nil
save!(:validate => false)
end
我仍然不明白这两种方法之间的区别。从数据库的角度来看,哪一个更快或更高效?