当用户被删除时,重新关联附加到用户的帖子或其他对象的“Rails 方式”是什么?

问题描述

我正在实施一个系统,当用户删除他/她发表的帐户帖子时,他们将重新关联到匿名帐户,以便我网站的其他用户仍然可以看到这些帖子。

我的网站在用户和帖子之间有 one_to_many 关联。

dependent: _______ 下似乎没有匹配选项,如下所示 https://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many-label-Options

我所做的(并且正在运行)将以下代码添加到我的用户控制器内的销毁操作中

    user = User.find_by(username: params[:username])
    admin_id = User.find_by(email: '[email protected]').id
    user.posts.each do |post|
      post.user_id = admin_id
      post.save
    end
    user.destroy

我认为这可能是一个足够普遍的愿望,希望有一个更标准的、“最佳实践”或“Railsy”的方式来完成它,如果有的话?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)