Это позволит найти удаленные темы, созданные пользователем с user_id 1.
dts = Topic.with_deleted.where(user_id: 1).where("deleted_at is not null")
dts.pluck(:deleted_at, :id)
dps = Post.with_deleted.where(user_id: 1).where("deleted_at is not null")
dps.pluck(:deleted_at, :id)
Кажется, что вы можете восстановить посты с помощью чего-то вроде:
dp = dps.first
dp.deleted_at = nil
dp.deleted_by = nil
dp.save
Для тем нужно сделать что-то подобное.
Если когда-нибудь понадобится восстановить всё это, приведённого выше кода будет достаточно для того, чтобы кто-то, кто немного знаком с Rails, мог восстановить все записи.
Кстати, если бы вы переместили их в скрытую категорию, возможно, было бы несколько проще массово откатить их к последней версии. Но когда ни то, ни другое для вас вообще невозможно, я думаю, что это различие без реального значения.
Наконец, извиняюсь ещё раз за то, что снова обращаюсь к запросу на функцию как к Support. Я думаю, что делаю это потому, что у меня нет полномочий добавлять новые функции, но я могу решать проблемы.