1

私のコメントはユーザーによって投稿されます。Commentbelongs_to :userと User has_many :comments

ただし、ユーザーは削除できます。完了したら、コメントを削除するのではなく、そのコメントを 1 人のダミー ユーザーに関連付けます。

私はいくつかの方法を考えることができます:

  • コメントの読み込み時に、関連付けられたユーザーが見つからない場合は、メモリ内にダミー データを使用してユーザーを作成します。
  • コメントの読み込み時に、関連付けられたユーザーが見つからない場合は、データベースから事前定義されたユーザーを選択します。
  • コメントを削除すると、すべてのコメントがデータベース内の定義済みのユーザーに関連付けられます。いくつかの投稿フィルターを介して。

私の感覚では、1 番が最もクリーンだということです。他の 2 つは、コードに組み込まれているデータベース内のユーザーを必要とするためです。ユーザー 18394 がその「特別な」ユーザーになる場合、その特別なユーザーにはあらゆる種類のセーフティネットが必要になります。

4

1 に答える 1

2

代わりに、ユーザーの論理的な削除についてはどうですか? User.active というブール値フィールドを用意し、User.active = t のデフォルト スコープを設定します。ユーザーが削除されたら、アクティブ フィールドを false に設定し、個人データを消去します。

于 2011-12-14T17:01:52.460 に答える