我有一个模型“人物”,我通过以下方式更新它:
hash = {"id" => 1}
updatedHash = {"name" => "UPDATED_NAME"}
Person.update(hash["id"], updatedHash)
在我的Person模型中,我在更新时有一个回调:
after_commit :postUpdate, :on => :update
after_update :postUpdate #optionally I can have this, and exclude the above
如果我使用Person.update,如何停用此回调? (不要告诉我使用update_column或任何这些方法,因为我无法改变我更新的方式)。
我试过了:
Person.skip_callback(:update, :after_commit)
但它不起作用
答案 0 :(得分:0)
我相信你需要做
Person.skip_callback(:update, :after_commit, :postUpdate)
或者调用要跳过的回调名称。
作为旁注。对于变量和函数名称,使用蛇案例而不是驼峰案例被认为是正确的。