【问题标题】:How to skip association callback in destroy如何在销毁中跳过关联回调
【发布时间】:2011-12-26 10:14:03
【问题描述】:

在我的项目中,折扣已经并且属于许多企业。我有一个关联回调规则,折扣不能删除它的最后一个业务(以保持每个折扣总是有一个业务):

has_and_belongs_to_many :businesses,
  before_remove: :check_count,

def check_count
  raise 'Cannot remove latest business!' if businesses.count == 1
end

但是我意识到我无法取消折扣。因为当我做discount.destroy时,我认为它会尝试删除业务,并且会引发错误。

那么有没有办法解决这个问题,比如控制器中的某种:except

【问题讨论】:

标签: ruby-on-rails model


【解决方案1】:

您可以拨打discount.delete,这将跳过回调。

【讨论】:

  • 我仍然想保持完整性。我猜我的回调规则设计不正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 2021-04-25
  • 2015-06-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多