如何修改依赖::在rails中销毁

时间:2017-04-02 10:42:45

标签: ruby-on-rails activerecord

如果我有两个模型,Model1Model2如下

class Model1 < ActiveRecord::Base
  has_many :model2s, dependent: :destroy
end

class Model2 < ActiveRecord::Base
  belongs :model1
end

我想在Model1中销毁记录时增加销毁能力。除了依赖记录之外,我还要销毁满足属性测试的Model2条记录。怎么办呢?

1 个答案:

答案 0 :(得分:0)

您可以使用Active Record Callbacks来解决问题。 after_destroy可能会对您有所帮助。

class Model1 < ActiveRecord::Base
  has_many :model2s, dependent: :destroy

  after_destroy :increase_the_destroy_capability

  private

  def increase_the_destroy_capability
    # do some thing
  end
end