2016-12-23 114 views
0

首先感谢大家花时间阅读本文并回答。帐户已删除将该帐户的所有帖子移动到默认管理员帐户

我试图找到例子,或者至少一些帮助逻辑,

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

使用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

你可以做一个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 
+0

嗨,感谢您的快速响应!我可以为你更深入的解释这部分麻烦你:default_user.resources =资源如果default_user – EVX

+0

开发_什么我试图做,是在用户删除他/她的帐户,以自动转移任何资源到默认管理帐户._我不知道你想转让哪些资源 – Thounder

+0

每个用户都有帖子和评论等等,这些都绑定到用​​户,这是我想转移到默认管理员用户,如果该帐户被删除。 – EVX