我有一个用户模型和一个帖子模型,我希望在删除帐户时每个用户帖子都匿名。目前,我有依赖项:destroy,它会破坏所有记录,但我希望它们具有匿名用户名,从而导致页面或内容空白,以便我仍然可以在自己的网站上保留这些帖子。
什么是最好的方法?
答案 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 %>