ActiveRecord::RecordNotDestroyed在销毁记录时



早些时候,当我试图销毁模型中的记录时,我遇到了外键约束错误,所以我在关系中添加了dependent: :destroy选项。这就是现在的关系:

class Package < ActiveRecord::Base
has_one :package_event, dependent: :destroy
has_one :tag_package, dependent: :destroy
has_one :current_bin, :through => :tag_package
has_many :tag_packages, lambda{ with_deleted }, dependent: :destroy
has_one :tag, :through => :tag_package
has_one :tag_type, :through => :tag
has_one :tag_issuer, :through => :tag
has_many :scans, lambda{ distinct }, :through => :tag

但现在,当我试图销毁模型中的记录时,我得到了一个ActiveRecord::RecordNotDestroyed,它没有显示错误消息,所以我不确定这个错误背后的原因是什么。

>> Package.first.destroy!
=> ActiveRecord::RecordNotDestroyed (Failed to destroy the record)

我怀疑这与正在发生的has_many_through关系有关。有人知道如何解决这个问题吗?

您可以挽救错误(挽救ActiveRecord::RecordNotDestroyd=>error(并查看error.record.errors.

我从这个答案中找到了解决方案:https://stackoverflow.com/a/53872915/4785305

可能是您有一个before_edestroy回调,阻止其中一个相关记录被销毁。

相关内容

  • 没有找到相关文章

最新更新