我正在开发一个ruby on rails应用程序,我是新手。但是我想要一个功能,我想删除用户登录后他上传的所有数据,以便下次他再次登录他可以从我的系统中创建不同的报告,而他之前的记录没有干扰当前的结果生成过程。如果有人可以提供帮助,那就太棒了。我通过其ID获取用户的数据。
答案 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(..)#它将在帖子表中添加新记录
端