已删除帐户会将该帐户中的所有帖子移至默认管理员帐户

时间:2016-12-23 21:34:53

标签: ruby-on-rails ruby ruby-on-rails-3 devise

首先,感谢大家花时间阅读并回答。

我正在尝试寻找示例或至少对逻辑提供一些帮助,

我想要做的是,在用户移除他/她的帐户以自动将任何资源转移到默认管理员帐户之后。

使用设计进行用户管理。

不确定您可能需要了解更多信息才能提供帮助,但请告诉我,我将提供更多信息。

提前谢谢!

更新:(所以在我的user.rb模型中我添加了这个和before_destroy)

它只会让我回到404错误..

def transfert_associations_to_default_account
 #This user is the one ending account
 leavinguser = current_user.username

 #This will be the default user (archive) holder for all the content
 default_user = User.find_by(username: "archive")

 #default_user.resources << resources if default_user
leavinguser.posts.update(username: default_user)
leavinguser.reviews.update(username: default_user)
end

更新2 :(已修复)

def transfert_associations_to_default_account
 #This user is the one ending account
 leavinguser = self

 #This will be the default user (archive) holder for all the content
 default_user = User.find_by(username: "archive")

 default_user.posts << leavinguser.posts
 default_user.reviews << leavinguser.reviews
 end

1 个答案:

答案 0 :(得分:1)

你可以做一个before_destroy |在用户模型上执行before_update操作(取决于您的逻辑),例如

before_destroy :transfert_associations_to_default_account

def transfert_associations_to_default_account
 default_user = User.find()
 default_user.resources << resources if default_user
end