Комментарий принадлежит удаленному пользователю. Как связать «заполнитель»? - PullRequest
1 голос
/ 14 декабря 2011

Мои комментарии размещены пользователями. Комментарий belongs_to :user и Пользователь has_many :comments.

Но пользователи могут быть удалены. Если это будет сделано, я бы предпочел не удалять их комментарии, а связать их с одним пользователем-пустышкой.

Я могу придумать несколько способов:

  • При загрузке комментария, если связанный пользователь не найден, создайте в памяти пользователя с фиктивными данными.
  • При загрузке комментария, если не найдено ни одного связанного пользователя, выберите предварительно определенный из базы данных.
  • При удалении комментария свяжите все комментарии с заранее заданным пользователем в базе данных; через какой-то пост-фильтр.

Мое чувство говорит, что номер один самый чистый; поскольку другие два требуют пользователя в базе данных, который будет встроен в код. Если пользователь «18394» будет таким «особым», мне понадобятся все виды сетей безопасности для этого специального пользователя.

1 Ответ

2 голосов
/ 14 декабря 2011

А как насчет мягкого удаления пользователей?Имейте логическое поле с именем User.active и установите область по умолчанию для User.active = t.При удалении пользователя установите для активного поля значение false и удалите все личные данные.

...