【问题标题】:Skipping :after_add callback when adding objects添加对象时跳过 :after_add 回调
【发布时间】:2013-06-17 07:36:24
【问题描述】:

我有一个带有: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

【问题讨论】:

    标签: ruby-on-rails ruby activerecord callback


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      相关资源
      最近更新 更多