在我的项目中,折扣已经属于许多企业。我有一个关联回调规则,折扣无法删除其最后的业务(为了保持每个折扣总是有业务):
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
一样?
答案 0 :(得分:19)
您可以拨打discount.delete
来跳过回调。