Ruby on rails 4 Rails和设计如何在重置密码时跳过验证

Ruby on rails 4 Rails和设计如何在重置密码时跳过验证,ruby-on-rails-4,devise,Ruby On Rails 4,Devise,我发现自己正面临着一个问题,所以我怀疑我是唯一一个面对这个问题的人,但我没有找到解决办法 我刚刚在我的用户模型上添加了带有新验证的新字段。我确保将配置文件不完整的旧用户重定向到为其完成配置文件的表单 我的问题是,如果一个老用户忘记了他的密码,他不能重置它,因为当保存新密码时,验证失败。然后如何使密码重置逃避验证我有一个类似的问题,在我的案例中,解决方案是添加if条件: validates :new_field, presence: true, if: -> { !encrypted_pas

我发现自己正面临着一个问题,所以我怀疑我是唯一一个面对这个问题的人,但我没有找到解决办法

我刚刚在我的用户模型上添加了带有新验证的新字段。我确保将配置文件不完整的旧用户重定向到为其完成配置文件的表单


我的问题是,如果一个老用户忘记了他的密码,他不能重置它,因为当保存新密码时,验证失败。然后如何使密码重置逃避验证我有一个类似的问题,在我的案例中,解决方案是添加if条件:

validates :new_field, presence: true, if: -> { !encrypted_password_changed? } 
每次验证都会导致问题

有关更多详细信息,请查看: 和

我有一个类似的问题,在我的案例中,解决方案是添加if条件:

validates :new_field, presence: true, if: -> { !encrypted_password_changed? } 
每次验证都会导致问题

有关更多详细信息,请查看: 和

我遇到了一个类似的问题,我有一个状态验证程序和一个自定义验证程序在用户模型上启动。在某些情况下,一个或两个密码可能丢失/不正确,导致用户无法重置密码。您可以通过使用proc查找重置密码令牌(或您预期将要传递的任何其他designe参数)的存在来逃避此问题

validates :a_field, presence: true, unless: Proc.new { |u| u.reset_password_token.present? }

validate :custom_validator_method, unless: Proc.new { |u| u.reset_password_token.present? }

我有一个类似的问题,我有一个状态验证器和一个自定义验证器在用户模型上启动。在某些情况下,一个或两个密码可能丢失/不正确,导致用户无法重置密码。您可以通过使用proc查找重置密码令牌(或您预期将要传递的任何其他designe参数)的存在来逃避此问题

validates :a_field, presence: true, unless: Proc.new { |u| u.reset_password_token.present? }

validate :custom_validator_method, unless: Proc.new { |u| u.reset_password_token.present? }

我想这应该是
reset\u password\u token
。我想这应该是
reset\u password\u token