gpt4 book ai didi

ruby-on-rails - Has_many 通过关联依赖 : destroy not destroying

转载 作者:行者123 更新时间:2023-12-05 07:55:44 30 4
gpt4 key购买 nike

我有这个模型

class XmlImport < ActiveRecord::Base
belongs_to :video
belongs_to :user

has_many :events, through: :event_import_records, dependent: :destroy
has_many :event_import_records, dependent: :destroy

has_attached_file :xml
validates_attachment_content_type :xml, :content_type => ["text/xml"]
end

:event_import_records 条目正在被销毁。但是 :events 不是。

  • has_many through 关联上的dependent:destroy 是否有效?
  • 还有其他写法吗?如果那不正确
  • 如何通过 event_import_records 销毁与 XmlImport 关联的所有 events

最佳答案

您可以在 Rails API 找到那:“如果与 :through 选项一起使用,连接模型上的关联必须是 belongs_to,并且被删除的记录是连接记录,而不是关联记录。”我知道它会删除连接记录,但不会删除关联记录。

如果我是你,我会尝试:

class EventImportRecord < ActiveRecord::Base
has_many :events, dependent: :destroy
end

如果不起作用,我会交换 XmlImport 模型上的 has_many 关系的顺序,因为“请注意:依赖项是使用 Rails 的回调系统实现的,它可以工作通过按顺序处理回调。因此,在 :dependent 选项之前或之后声明的其他回调会影响它的作用。”也可以在 Rails API 的同一页找到。

关于ruby-on-rails - Has_many 通过关联依赖 : destroy not destroying,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312068/

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