【发布时间】:2016-05-18 02:12:15
【问题描述】:
我正在努力学习如何阅读 rubydocs。我敢肯定,在尝试使用这些文档时,我错过了一些基本的基本知识,但现在,我很沮丧,信息被呈现给我,但没有任何形式的易懂的用户指南与之配套.
我想修改我的设计,以便用户可以指定他们想要加入的组 - 在这种情况下,他们的电子邮件已更改为组织电子邮件的组织,等待组织所有者的确认。
我认为这个函数(我在下面从设计 ruby 文档中复制)会有所帮助。
#postpone_email_change_until_confirmation_and_regenerate_confirmation_token ⇒ Object (protected)
253
# File 'lib/devise/models/confirmable.rb', line 247
def postpone_email_change_until_confirmation_and_regenerate_confirmation_token
@reconfirmation_required = true
self.unconfirmed_email = self.email
self.email = self.email_was
self.confirmation_token = nil
generate_confirmation_token
end
我的问题是我不明白它是如何工作的或如何将它整合到我的应用程序中。
我是否将其添加到我的用户模型中(只需复制和粘贴),然后在我的用户控制器中添加一行以进行更新操作,以便电子邮件的任何更改都会执行方法中列出的每个步骤?
如果我这样做,我应该给控制器调用起什么名字?
在 user.rb 我试过了:
def postpone_email_change_until_confirmation_and_regenerate_confirmation_token
@reconfirmation_required = true
self.unconfirmed_email = self.email
self.email = self.email_was
self.confirmation_token = nil
generate_confirmation_token
end
在用户控制器 - 更新操作中,我尝试过:
if @user.update(user_params)
user.postpone_email_change_until_confirmation_and_regenerate_confirmation_token
我显然试图错误地执行此操作。我不清楚我应该如何使用这个功能。
谁能看出我哪里出错了?
【问题讨论】:
标签: ruby-on-rails ruby devise devise-confirmable