如何在每次用户注销时在数据库中截断单个用户数据。在rails应用程序中?

时间:2016-06-18 12:38:59

标签: ruby ruby-on-rails-3.2

我正在开发一个ruby on rails应用程序,我是新手。但是我想要一个功能,我想删除用户登录后他上传的所有数据,以便下次他再次登录他可以从我的系统中创建不同的报告,而他之前的记录没有干扰当前的结果生成过程。如果有人可以提供帮助,那就太棒了。我通过其ID获取用户的数据。

1 个答案:

答案 0 :(得分:0)

所以你需要删除用户添加的所有记录,然后想要添加与之相关的新记录。正确?

例如:

你有一个与post表有关系的User表,如bellow。

在用户模型中:

has_many:帖子

在Post模型中:

belongs_to:user

所以首先你要获得像这样的用户对象

user = User.find(user_id)rescue nil 要么 user = User.where(:id => user_id).first()

然后检查用户是否为空白

if!user.blank?

user.posts.delete_all#它将删除所有用户记录 Post.create(..)#它将在帖子表中添加新记录