2
某些情况下,我不想执行before_update。请帮帮我。保存时忽略before_update
情况A:如果我想使用的before_update
obj = Object.find(id)
obj.save
但情况B我不想使用before_update
obj = Object.find(id)
obj.save # in case I want used before_update
某些情况下,我不想执行before_update。请帮帮我。保存时忽略before_update
情况A:如果我想使用的before_update
obj = Object.find(id)
obj.save
但情况B我不想使用before_update
obj = Object.find(id)
obj.save # in case I want used before_update
update_without_callbacks和create_without_callbacks是私有方法。这些方法不会调用任何回调。
obj = Object.find(id)
obj.send(:update_without_callbacks)
obj = Object.new(:name => 'foo')
obj.send(:create_without_callbacks)
方法#save
接受一个哈希选项。跳过验证:
obj.save(:validate => false)
这是使用公共API跳过验证的文档化方式。不要尝试使用send来调用内部方法,否则您的应用程序将来可能无法使用。
很好。谢谢 – khanh 2010-10-22 04:22:02
不要这样做!这些方法是私密的是有原因的。您不应该依赖内部API,否则在内部重构的情况下,您的应用程序将无法工作。 – 2010-10-22 08:05:39
只适用于Rails 2.看看这个[回复](http://stackoverflow.com/questions/1342761/how-to-skip-activerecord-callbacks) – Shadoath 2014-09-23 19:12:25