gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中使用验证更新模型的特定字段?

转载 作者:数据小太阳 更新时间:2023-10-29 09:03:22 25 4
gpt4 key购买 nike

有一个名为 User 的 AcviteRecord 模型,如下所示:

class User < ActiveRecord::Base
validates :name, :presence => true
validates :email, :presence => true, :uniqueness => true

validates :plain_password, :presence => true, :confirmation => true
validates :plain_password_confirmation, :presence => true
#...other codes
end

要求姓名和邮箱的更新与密码的更新分开。

当仅更新名称和密码时,使用updateupdate_attributes 将导致不需要的密码验证。但是使用 update_attribute 将在不验证的情况下保存姓名和电子邮件。

有没有什么方法可以在不引起其他字段验证的情况下通过验证更新模型的特定字段?

最佳答案

试一试,可能会有帮助

class User < ActiveRecord::Base
validates :name, presence: true
validates :email, presence: true, :uniqueness => true

validates :plain_password, length: { in: 4..255, allow_nil: true }, confirmation: true
validates :plain_password_confirmation, presence: true, if: -> (user){ user.plain_password.present? }

# ......
# ......
end

除此之外,您应该重新考虑保存 plain_password ;)

关于ruby-on-rails - 如何在 Ruby on Rails 中使用验证更新模型的特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862762/

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