1

我的评论是由用户放置的。评论belongs_to :user和用户has_many :comments

但是可以删除用户。如果完成,我宁愿不删除他们的评论,而是将他们的评论与一个 Dummy 用户相关联。

我可以想到几种方法:

  • 在加载评论时,如果未找到相关用户,则在内存中创建一个带有虚拟数据的用户。
  • 在加载评论时,如果未找到相关用户,则从数据库中选择一个预定义的用户。
  • 删除评论时,将所有评论与数据库中的预定义用户相关联;通过一些后期过滤器。

我的感觉是第一是最干净的;因为其他两个需要数据库中的用户,该用户将在代码中硬连线。如果用户 18394 是那个“特殊”用户,我需要为那个特殊用户提供各种安全网。

4

1 回答 1

2

那么软删除用户呢?有一个名为 User.active 的布尔字段,并为 User.active = t 设置默认范围。当用户被删除时,将活动字段设置为 false,并清除所有个人数据。

于 2011-12-14T17:01:52.460 回答