当使用`update_attributes!`销毁相关模型时,触发after_destroy回调

时间:2018-04-02 16:35:26

标签: ruby-on-rails activerecord

我的模型User有很多Membership s(示例代码位于底部)。

在我的应用程序的一部分中,我使用@user.update_attributes!(membership_params)更新用户及其相关成员资格。在创建一个或多个成员资格的方法中调用此方法时,会创建成员资格并触发after_create模型上的Membership回调。

但是,当我使用membership_params拨打相同的电话会导致删除会员资格时,会员资格会被移除,但不会触发after_destroy回调。

如何在create和destroy上触发Membership回调?

class User
  has_many :memberships, dependent: :destroy
  accepts_nested_attributes_for :memberships, allow_destroy: true
end

class Memberships
  belongs_to :user
  after_create :do_the_thing
  after_destroy :undo_the_thing # This isn't getting called on destroy
end

0 个答案:

没有答案