硬删除在rails中启用了软删除的关联记录

问题描述 投票:0回答:1

我有一个用户模型,并没有为用户模型启用软删除。对于一个它的关联模型(has_many关联)说帖子,软删除被启用。我想要的是删除用户时硬删除所有相关的帖子。

在User.rb中

has_many :posts, dependent: :destroy

只是软删除相关记录。因此,删除用户时将引发异常。有没有选项来硬删除模型级别中的关联记录?或者必须在before_destroy回调中做一些事情来实现这个目标?

注意:使用偏执狂宝石进行软删除

ruby-on-rails ruby-on-rails-5 hard-delete
1个回答
1
投票

如果您想要删除相关帖子,可以使用dependent: :delete_all。这将直接进入数据库删除记录并绕过paranoia gem注册的before_destroy回调。

© www.soinside.com 2019 - 2024. All rights reserved.