Você poderia apenas excluí-los?
u=User.find_by_username('byebye')
posts=Post.where(user_id: u.id)
e então chamar PostDestroyer em todos os posts. (Não me lembro exatamente como fazer isso de imediato.)
Se você realmente quiser substituir os posts deles por “excluído por…”, então você faria algo como
posts.update_all(raw: "excluído por solicitação do usuário")
E então você precisaria limpar coisas do modelo PostRevision, talvez
posts.each do |p|
bad=PostRevision.where(post_id: p.id)
bad.destroy_all
end
Você gostaria de fazer alguns deles manualmente como teste, ou em um site de staging se você for realmente cuidadoso.