Ruby on Rails匿名删除记录用户名

时间:2018-10-17 07:30:12

标签: ruby-on-rails

我有一个用户模型和一个帖子模型,我希望在删除帐户时每个用户帖子都匿名。目前,我有依赖项:destroy,它会破坏所有记录,但我希望它们具有匿名用户名,从而导致页面或内容空白,以便我仍然可以在自己的网站上保留这些帖子。

什么是最好的方法?

2 个答案:

答案 0 :(得分:1)

您可以使用dependent: :nullify代替dependent: :destroy

  

:nullify导致外键设置为NULL。回调不执行。

答案 1 :(得分:0)

另一个选择。使用dependent: :nullify代替dependent: :destroy,在这种情况下,删除用户后,您会有一些帖子没有用户。因此,您只需要对这些帖子进行一些更改即可:

<% if @post.user %>
  <%= link_to @post.user.username, user_path(@post.user) %> 
<% else %>
  User was deleted # here goes any title/link you want for deleted users
<% end %>