Best way to temporarily remove public access to a user’s topics? からの議論を続けます。
/u/username/deleted-posts リストに、一括で削除解除できるセレクターを有効にすることは可能でしょうか? 私が理解した限りでは、プログラムで削除解除するには、技術的に非常に困難で潜在的に危険な SQL/rails スクリプトが必要になります。
この機能を最も有用にするためには、削除されたトピックと削除された返信を区別することが最善でしょう。既存の /u/username/deleted-posts URL を維持し、それに /u/username/deleted-posts/topics と /u/username/deleted-posts/replies を追加することも考えられます。
「いいね!」 2
トピックはすでに削除されており、ユーザーがトピックの復元をリクエストする時期の推定値がないため、一括削除解除が実装されるのを待つことができると思います。それを行う方法を支援する投稿がいくつかあるため、これはプログラムで削除解除するための、より簡単で安全な方法でもあると思います。
ユーザーの削除されたトピックIDのリストを生成する方法を理解できれば、これはより簡単で安全な方法のようです。
pfaffman
(Jay Pfaffman)
3
これは、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");
dbs.pluck(:deleted_at, :id)
そして、次のようなもので投稿を復元できるようです。
dp=dps.first
dp.deleted_at=nil
dp.deleted_by=nil
dp.save
トピックについても同様のことを行うことになります。
もしそれらを復元する時期が来たら、上記のコードは、Railsについて少し知っている人なら誰でもそれらをすべて復元するのに十分でしょう。
ちなみに、それらを非表示カテゴリに移動していた場合、それらすべてを一括で「最後の改訂に戻す」方がいくらか簡単だったかもしれません。しかし、どちらのこともまったく不可能である場合、それは違いのない区別だと思います。
最後に、機能リクエストをサポート依頼として扱ってしまったことを改めてお詫びします。機能を作成する力はありませんが、問題を解決することはできるため、そうしているのだと思います。
「いいね!」 4
問題ありません、ジェイさん。本当に感謝しています。もちろん、DiscourseでGUIメソッドが実装されるのが望ましいですが、そうでなくても、その手順を説明していただき、本当に感謝しています。
「いいね!」 1
Canapin
(Coin-coin le Canapin)
5
確かに特殊なケースですが、いつ進めるべきかの判断材料として、機能が複数回(特に顧客から)要求されているかを把握するように努めています 
「いいね!」 1