我的模型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