【问题标题】:how do I confirm old users retroactively with Devise?如何使用 Devise 追溯确认老用户?
【发布时间】:2012-06-07 23:37:41
【问题描述】:

我开始使用没有 :confirmable 的 Devise。现在我已经添加了它,并且我的用户被告知要确认他们的帐户,尽管许多人已经在一年前注册了。

我需要以编程方式确认数据库中的所有旧用户。我该怎么做?

【问题讨论】:

    标签: ruby-on-rails devise confirmation-email


    【解决方案1】:

    您只需将 Confirmed_at 设置为某个过去的日期,它就可以正常工作。如果您要将其用于其他目的(例如统计),则可以更新 Confirmation_sent_at。

    【讨论】:

      【解决方案2】:

      最好编写一个迁移来更新用户表的新字段。 我认为由于您使用的是设计,因此您必须在创建旧用户时将字段确认_at 和确认发送_at 设置为周围的东西。在将其应用于生产之前为此编写测试也是一个好主意。

      最简单的方法可能是启动生产控制台,选择所有旧用户并在每个用户对象上调用确认!这应该将字段设置为当前日期。

      【讨论】:

      • 在您打算使用confirmation_sent_at 之前,您不必同时更新两者。您只需将 Confirmed_at 设置为过去的某个日期即可正常工作
      • @Cage 这是我一直在寻找的答案。你可以给这个帖子写一个“答案”以便我接受吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      相关资源
      最近更新 更多