gpt4 book ai didi

ruby-on-rails - rails : Delete associated records on object destroy

转载 作者:行者123 更新时间:2023-12-04 00:19:25 25 4
gpt4 key购买 nike

我有2个模型

 class Deal < ActiveRecord::Base
has_many :couponizations, dependent: :destroy
has_many :coupon_codes, through: :couponizations, source: :coupon_code, dependent: :destroy
accepts_nested_attributes_for :coupon_codes, allow_destroy: true
end


class CouponCode < ActiveRecord::Base
has_one :couponization, dependent: :destroy
has_one :deal, through: :couponization, source: :deal

由多对多关系链接
class Couponization < ActiveRecord::Base
belongs_to :coupon_code
belongs_to :deal
end

尽管我指定了 dependent: :destroy选项,当我删除交易时,优惠券代码不会被删除。但是优惠券删除成功。有没有办法在对象销毁时删除关联的嵌套记录?

最佳答案

选项 dependent: :destroy:through 一起使用时被忽略(见 doc)。你必须手动完成,使用 after_destroy callback例如。

 class Deal

after_destroy :destroy_coupon_codes

private

def destroy_coupon_codes
self.coupon_codes.destroy_all
end
end

关于ruby-on-rails - rails : Delete associated records on object destroy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20925494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com