【问题标题】:Devise: Email has already been taken but user deleted设计:电子邮件已被占用,但用户已删除
【发布时间】:2015-04-28 23:16:13
【问题描述】:

我正在为我的用户模型使用 Devise,我已经从我的管理面板中删除了一个用户,并使用 rails console 确认该用户不再在数据库中。但是,当我尝试重新创建用户(他们想再次注册)时,我会看到一条 Flash 错误消息:

用户创建失败

  • 电子邮件已被占用

再次检查数据库,用户仍然不在:

irb(main):007:0> User.find_by(email: 'user@example.com')
=> nil

为什么会发生这种情况,我可以做些什么来解决这个问题? Devise 是否会在我不知道的地方保留一个幻影用户?

谢谢, 贾斯汀

【问题讨论】:

    标签: ruby-on-rails authentication ruby-on-rails-4 devise


    【解决方案1】:

    事实证明,有人安装了 Paranoia gem。所以我必须找到用户:

    User.with_deleted.where(email: "user@example.com")
    

    获取id,然后恢复:

    User.restore(the_id)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 2017-02-15
      相关资源
      最近更新 更多