微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在玩Rails管理员,我注意到了一些事情.

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

validates :user,presence: true

但是,表(模式/迁移)中定义的属性仍被视为“可选”

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

我会假设这两个都是相同的,除了可能出现验证错误的级别.我错了还是Rails管理员错误?这两者是否确保成功保存现场所需的字段或存在差异?

解决方法

添加:null => false表示这是数据库限制,即在任何情况下数据库都不允许空值.

添加存在:true是模型级验证,因此将在将对象插入数据库之前进行.可能存在您想要破坏这些验证的情况(例如边缘情况或您的规范)然后您可以使用以下命令跳过验证:validates => false并且对象仍将进入数据库,具有空数据库限制,这不会发生.

原文地址:https://www.jb51.cc/ruby/264786.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐