gpt4 book ai didi

ruby-on-rails - 仅针对新记录进行验证

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:07 25 4
gpt4 key购买 nike

我有一个带有 price 属性的模型 Order

数据库中很少有Order记录没有price属性(nil值),是从旧数据库导入的。像这样的无效记录不到 20 个。

现在 price 属性是强制性的。

我需要添加对价格 的存在验证 保留旧记录。我无法将 nil 值设置为零或一些随机值。

我对基于时间戳甚至“允许”ID 列表的条件验证有一些疯狂的想法。

像这样:

PERMITTED_IDS = [4, 8, 15, 16, 23, 42]
validates :price, presence: true, if: -> { |order| PERMITTED_IDS.exclude?(order.id) }

有什么方便的方法吗?

最佳答案

使用 on: :create

以下只会在创建模型时验证。

validates :price, presence: true, on: :create

但是,你不能只使用 allow_nil: true:

validates :price, presence: true, allow_nil: true

关于ruby-on-rails - 仅针对新记录进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24904946/

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