首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新生成user.confirmation_token

如何重新生成user.confirmation_token
EN

Stack Overflow用户
提问于 2014-01-14 07:25:51
回答 1查看 679关注 0票数 0

我正在寻找一种重新生成user.confirmation_token的方法。在我的应用程序中,我允许用户停用他们的user.deleted_at账户。如果停用用户尝试重新激活他们的帐户,我希望看到一封confirmation_instructions邮件,但需要设置一个确认令牌。有没有办法用devise在RegistrationsController中重新生成user.confirmation_token?

EN

回答 1

Stack Overflow用户

发布于 2014-01-14 07:34:28

Confirmable模块中有generate_confirmation_token方法,它通过ActiveSupport::Concern应用于其他类。就像你在这里看到的:

https://github.com/plataformatec/devise/blob/master/lib/devise/models/confirmable.rb

在你的User对象上重新部署这个方法应该能起到作用。

// generate_confirmation_token方法受到保护,因此无法从类外部调用它。您可以运行send_confirmation_instructions,它会生成令牌并发送注册邮件。

//如果gem的confirmable模块让它看起来像方法一样,请查看源代码。如果默认情况下这是不可能的,那么您需要对gem进行用户化。您可以通过bash中的以下命令获取gemsets路径

代码语言:javascript
复制
rvm gemset path

然后在gems目录中,您将找到已安装的devise版本。在lib/devise/models/confirmable.rb文件中,可以添加调用generate_confirmation_token方法的不受保护的方法。您只能从该模块调用它,因为它是受保护的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21103391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档