评论belongs_to已删除的用户。如何关联“占位符”?

时间:2011-12-14 16:56:29

标签: ruby-on-rails associations stubbing

我的评论是由用户提出的。评论belongs_to :user和用户has_many :comments

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

我可以想到几种方式:

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

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

1 个答案:

答案 0 :(得分:2)

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