跳过:添加对象时的after_add回调

时间:2013-06-17 07:36:24

标签: ruby-on-rails ruby activerecord callback

我的模型的:has_many:after_add

class User < ActiveRecord::Base
    has_many :jobs, :after_add => :invalidate_old_jobs
end

现在我想添加其中的几个对象,但是我不想在添加最后一个对象之前运行:after_add(它可以运行,但是,:after_add中调用的方法将一直更新相同的值)

我找到了skip_callback,但似乎无法使用:after_add找到如何调用它。

在添加上一份工作之前,如何运行:invalidate_old_jobs

1 个答案:

答案 0 :(得分:0)

您可以使用How to skip ActiveRecord callbacks?来解决您的问题。

但这不是一个好方法。您应该优化/修复验证逻辑,这样您就不需要绕过验证过程。您可以在此处发布完整的用户和工作模型,以获得有关更好解决方案的反馈。