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