是否有一种规范的方法可以在 Clearance gem 之上构建“更新电子邮件”功能?
拼写出来:我希望登录的用户能够访问该站点并更新与她的帐户关联的电子邮件地址。
有很多关于构建“更改密码”功能的信息,但没有关于更改电子邮件的信息。在发明轮子之前,我想确保自己没有遗漏任何东西。
据我所知,没有规范的方法。我认为最简单的处理方法是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
其余的应该非常简单,就像编辑其他任何东西一样。您可能还希望他们在电子邮件更改时确认他们的密码,这看起来类似于在更改密码时需要旧密码。
查看 gem 'Devise'...对于用户登录和更新密码和电子邮件非常有用。使创建登录页面以及将用户登录到数据库变得轻而易举。