在Devise 2.2.3和Rails 3.2.x中,我想创建一个例程,用户可以手动使他们可能发送到错误电子邮件地址的确认令牌/电子邮件无效。
我想我需要取消未经证实的电子邮件和确认令牌。这是对的吗?
我在Google或Devise文档中没有看到有关此过程的任何内容。
情景:
谢谢!
答案 0 :(得分:4)
由于我不想确认用户,我最终这样做了:
def cancel_change_email!
self.confirmation_token = nil
self.unconfirmed_email = nil
self.save!
end
似乎工作。我把这个方法扔进了一个模块,我把它包含在用户模型中,但是你可以把它放到用户模型中,如果这就是你的滚动方式。我想这很容易,但我觉得它是内置于Devise。
答案 1 :(得分:1)
我不认为Devise为它提供了一种方法,但你可以自己这样做:
user = User.find(1)
user.confirmation_token = nil
user.confirmed_at = nil
user.save!
答案 2 :(得分:1)
是的,您可以在某种回调中手动填写内容,然后重新发送确认说明。但是,您也可以使用Devise对可重新配置的支持来实现这一点,这可以在用户更改其电子邮件地址时使用。如果设置了此项,则用户需要“重新确认”他们的帐户,您甚至可以延迟电子邮件更改,直到他们再次成功确认。