최적의 방법인지는 확실하지 않지만, 삭제된 토픽에서 사용자의 게시물 내용을 "[deleted]"로 대체하기 위해 이 코드를 사용했습니다. 이렇게 하면 게시물의 존재가 유지되며, 완전히 삭제하는 것보다 더 안전하다고 판단했습니다.
# backed-up first
deleted_topic_id = 1234
user_id = 5678
t = Topic.unscoped.find(deleted_topic_id)
ps = t.posts.select { |p| p.user_id == user_id }
# `ps.count` to check
ps.each do |p|
p.raw = '[deleted]'
p.save
end