2011-12-26 66 views
6

在我的项目,折扣也有属于许多企业。我有一个回调的关联规则,打折不能删除其最后businss(坚持认为总有一款适合每个打折businss):如何跳过协会回调摧毁

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作为控制器?

+1

入住这里:http://guides.rubyonrails.org/active_record_validations_callbacks.html#skipping-callbacks – 2011-12-26 10:25:42

回答

14

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

+0

我还是想保持正直。我想我的回调规则是设计不当。 – lulalala 2011-12-27 01:47:49