【问题标题】:Account deleted move all posts from that account to default admin account帐户已删除将所有帖子从该帐户移至默认管理员帐户
【发布时间】:2016-12-23 21:34:52
【问题描述】:

首先感谢大家抽出宝贵时间阅读并回答。

我正在尝试寻找示例或至少在逻辑方面的一些帮助,

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

使用设备进行用户管理。

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

提前谢谢你!

更新:(所以在我的 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

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 您好,感谢您的快速响应!我能否麻烦您对此部分进行更深入的解释:default_user.resources = resources if default_user
    • 开发 我想要做的是,在用户删除他/她的帐户以自动将任何资源转移到默认管理员帐户之后。我不知道你想要哪些资源转移
    • 每个用户都有绑定到用户的帖子和评论等,如果帐户被删除,这就是我想转移给默认管理员用户的内容。
    • posts.update_all(user_id: default_user) reviews.update_all(user_id: default_user) ... 在方法内部
    • 声明一个 yml 文件,里面有你需要的东西:)
    猜你喜欢
    • 2019-04-10
    • 1970-01-01
    • 2019-06-28
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多