gpt4 book ai didi

ruby-on-rails - 使用用户模型中的特定方法跳过密码验证

转载 作者:行者123 更新时间:2023-12-04 05:58:26 25 4
gpt4 key购买 nike

在我的 user 模型中,我验证了 password 和一个 instance method,如下所示:

class User < ActiveRecord::Base
validate :email ......
validates :password, length: { minimum: 6 }

def my_method
# .....
# save!
end
end

正如您在该方法中看到的那样,我调用了 save! 方法,该方法在更改某些字段后保存用户,因此我想跳过 密码验证而不是其他验证验证 仅当我调用 my_method 用户实例 时,请问我该怎么做?谢谢

最佳答案

如果有人感兴趣,我会找到解决方案,我只需将 attr_accessor :skip_password_validation 添加到我的模型,然后我将条件添加到我的密码验证 validates :password, length: { minimum: 6 },除非::skip_password_validation,并且当我在 Controller 中使用用户模型实例调用 my_method 时,我将上面的此属性设置为 true。这就是用户模型的全部内容:

class User < ActiveRecord::Base
validate :email ......
validates :password, length: { minimum: 6 }, unless: :skip_password_validation
attr_accessor :skip_password_validation

def my_method
# .....
# save!
end
end

在 Controller 之前我调用user.my_method我只是添加行:user.skip_password_validation = true

希望对你有帮助:)

关于ruby-on-rails - 使用用户模型中的特定方法跳过密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18172570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com