加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在密码重置期间对Devise模型中的某些成员进行

发布时间:2020-12-16 21:19:43 所属栏目:百科 来源:网络整理
导读:我的用户(设计)模型还有姓名,城市,国家,电话会员. 在创建注册页面中 – 我验证了城市,电话,姓名,电子邮件的确认_存在,:on = :创建 在编辑注册页面中 – 我验证了城市,以及:on = :更新 现在当我在forgot_password_page上设置一个新密码时,它会询问Devise
我的用户(设计)模型还有姓名,城市,国家,电话会员.

在创建注册页面中 – 我验证了城市,电话,姓名,电子邮件的确认_存在,:on => :创建

在编辑注册页面中 – 我验证了城市,以及:on => :更新

现在当我在forgot_password_page上设置一个新密码时,它会询问Devise :: PasswordsController#update中是否存在城市,姓名

我该如何处理选择性验证?

我猜它应该是这样的,

validates_presence_of city,nation,phone,name,:on => :update,:if => :not_recovering_password

def not_recovering_password
  # what goes here
end

解决方法

我遇到了类似的问题,因为创建用户时并不是所有字段都是必需的.检查其他字段的存在:使用验证进行更新.

所以这就是我解决的问题:

validates :birthdate,presence: true,on: :update,unless: Proc.new{|u| u.encrypted_password_changed? }

方法encrypted_pa??ssword_changed?是Devise Recoverable中使用的那个.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读