validates不要校验布尔型 presence: true
来源:互联网 发布:江苏网络电视台回看 编辑:程序博客网 时间:2024/04/29 03:05
一个小坑
重现
有这么一个对象
class Article attr_accessible :can_hidden validates :can_hidden, presence: trueend
现在我创建一个不能被隐藏的文章: Article.create!(can_hidden: false)
Boom!!
ActiveRecord::RecordInvalid: 验证失败: can_hidden 不能为空
根源
追踪 PresenceValidator 可以发现问题出在这里:
https://github.com/rails/rails/blob/127411fdf3a3470e8830abf0c7876db67c0c344a/activemodel/lib/active_model/errors.rb#L255
解决办法
不要对 boolean 类型做 presence 校验,设置默认值
其它讨论及解决方案
- rails/rails#2521
- rails/rails#20343
- rails/rails#7508
- rails/rails#6953
enjoy!
0 0
- validates不要校验布尔型 presence: true
- 字符串"true"转换为布尔型boolean「true」
- validates
- java 字符串String(true) 转换成 布尔型boolean
- Presence
- if(true或false)布尔表达式
- 布尔型
- VARIANT 表示布尔值“真”, 不能 v.boolVal=true
- 布尔变量应该初始化为true还是false?
- ruby中布尔类型字段的非空校验
- Javascript的布尔型
- 小议布尔型变量
- 布尔型.html
- 布尔型数据
- C++基础---布尔型
- 三角形类布尔型
- Python 布尔型
- numpy布尔型索引
- java中日期的格式化 时间类
- Linux下I/O多路转接之select --fd_set
- RxJava操作符(2)-变换
- 求所有前缀-后缀字符串相等的长度(kmp算法中的nxet数组)
- HDU 5813 Elegant Construction (贪心)
- validates不要校验布尔型 presence: true
- 【计算机组成原理】流水线处理器
- Centos磁盘管理 进阶篇
- 某病毒使用的API CreateDesktop
- 洛谷 1717 钓鱼(贪心)
- mysql 计算字段 学习笔记
- OJ-----密码强度等级
- sizeof和strlen区别详解
- hdu 5813 Elegant Construction 构造