gpt4 book ai didi

ruby-on-rails - 在 Rails 模型/表中验证 presense 与 null false

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:27 26 4
gpt4 key购买 nike

我在研究 Rails admin 时发现了一些东西。

模型中如下定义的属性,在 Rails 管理中被视为“必需”

 validates :user, presence: true

但是,在表(架构/迁移)中定义如下的属性仍然算作“可选”

t.datetime "created_at",:null => false

我会假设这两者是相同的,除了弹出验证错误的级别。我错了还是 Rails 管理错误?这两者是否确保该字段将是成功保存字段所必需的,还是有区别?

最佳答案

添加一个 :null => false 意味着这是一个数据库限制,即在任何情况下数据库都不允许空值。

添加 presence: true 是模型级别的验证,因此将在对象插入数据库之前进行。可能有一种情况你想打破这些验证(例如边缘情况或在你的规范中)然后你可以使用 :validates => false 跳过验证并且对象仍将进入数据库,与一个空数据库限制,这不会发生。

关于ruby-on-rails - 在 Rails 模型/表中验证 presense 与 null false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972913/

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