我的模型的: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
?
答案 0 :(得分:0)
您可以使用How to skip ActiveRecord callbacks?来解决您的问题。
但这不是一个好方法。您应该优化/修复验证逻辑,这样您就不需要绕过验证过程。您可以在此处发布完整的用户和工作模型,以获得有关更好解决方案的反馈。