gpt4 book ai didi

ruby-on-rails - 在 Rails 中向现有模型添加验证

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

我想为 Rails 中的模型添加 :presence 和 :uniqueness 验证。我正在使用 MongoDB 和 Mongoid gem。

我有一个已在使用的模型,并且在数据库中有现有记录。我想添加一个新的 :field,然后为该字段添加 :presence 和 :uniqueness 的验证。

我知道默认情况下,任何现有记录都将简单地添加 :field 并且结果将为空,除非我指定 :default。

我的问题是,因为我希望这个新的 :field 是唯一的,这是否会导致数据库中现有记录为空的错误?我会丢失这些记录还是 Rails 只是将验证应用于新记录?

最佳答案

Rails/AciveRecord 不会忽略或删除您的旧记录...

验证的工作方式如下:它们仅在您尝试将内容写入数据库时​​使用/检查,例如当您创建新记录或更新记录时。因此,在您的情况下,当您尝试更新旧记录而不添加新的必填字段时,您将收到验证错误。

我建议您在添加新字段时尝试清理数据库(意味着为新的必填字段添加合理的默认值到旧记录)。

关于ruby-on-rails - 在 Rails 中向现有模型添加验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462858/

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