Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在destroy中跳过关联回调_Ruby On Rails_Model - Fatal编程技术网

Ruby on rails 如何在destroy中跳过关联回调

Ruby on rails 如何在destroy中跳过关联回调,ruby-on-rails,model,Ruby On Rails,Model,在我的项目中,折扣已经并属于许多企业。我有一个关联回调规则,折扣不能删除其最后的业务(以保持每个折扣始终有一个业务): 然而,我意识到我不能取消折扣。因为当我做折扣.destroy的时候,我认为它会试图删除业务,并且在短期内会引起错误 所以有没有办法解决这个问题,比如某种:除了控制器中的之外?你可以调用折扣。删除,这将跳过回调。检查这里:上面评论中的链接不起作用,因此添加这个我仍然希望保持完整性。我想我的回调规则设计得不正确。 has_and_belongs_to_many :businesse

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

然而,我意识到我不能取消折扣。因为当我做
折扣.destroy
的时候,我认为它会试图删除业务,并且在短期内会引起错误


所以有没有办法解决这个问题,比如某种
:除了控制器中的
之外?

你可以调用
折扣。删除
,这将跳过回调。

检查这里:上面评论中的链接不起作用,因此添加这个我仍然希望保持完整性。我想我的回调规则设计得不正确。
has_and_belongs_to_many :businesses,
  before_remove: :check_count,

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