Ruby on rails Rails:避免递归销毁回调
我有两种型号:Ruby on rails Rails:避免递归销毁回调,ruby-on-rails,ruby-on-rails-4,recursion,callback,Ruby On Rails,Ruby On Rails 4,Recursion,Callback,我有两种型号: class Car < ActiveRecord::Base has_many :adverts, :dependent => :destroy end class Advert < ActiveRecord::Base belongs_to :car # Destroy the car, if there is no more adverts left after_destroy do self.car.destroy unle
class Car < ActiveRecord::Base
has_many :adverts, :dependent => :destroy
end
class Advert < ActiveRecord::Base
belongs_to :car
# Destroy the car, if there is no more adverts left
after_destroy do
self.car.destroy unless self.car.adverts.exists?
end
end
class-Car:销毁
结束
类广告
现在,当调用advert.destroy
时,这项功能可以正常工作,但是当调用car.destroy
时,事情会以递归循环结束
PS.rails 4.1.8关于检查是否有剩余广告的建议来自这个问题,但是它与在关系上有一个
依赖::destroy
相冲突。它似乎与此相关: