功能:用户更新其电子邮件地址

时间:2018-01-09 13:37:52

标签: ruby clearance

是否有规范方法可以在Clearance gem之上构建“更新电子邮件”功能?

拼写说明:我希望登录的用户能够访问该网站并更新与其帐户关联的电子邮件地址。

有很多关于构建“更改密码”功能的信息,但没有关于更改电子邮件的信息。在发明轮子之前,我想确保我没有遗漏任何东西。

2 个答案:

答案 0 :(得分:2)

据我所知,没有规范的方法。我认为最简单的方法是在用户更改其电子邮件地址时重置current_user.confirmed_at。这样的事情应该有效:

class User < ActiveRecord::Base
  before_update :reset_confirmation_on_email_change

  private

  def reset_confirmation_on_email_change
    self.confirmed_at = nil if email_changed?
  end
end

其余部分应该非常直接,就像编辑其他内容一样。您可能还希望他们在电子邮件更改时确认其密码,这看起来类似于更改密码时需要旧密码。

答案 1 :(得分:-1)

检查gem'Devise'...对用户登录和更新密码和电子邮件非常有用。创建登录页面变得轻而易举,同时将用户登录到数据库中。