如何在我的情况下跳过格式validation?
我有一个模型User,其属性为“guest”(BOOLEAN)如果user.guest == true或user.guest == nil,我想跳过电子邮件的格式validation,
试着
VALID_EMAIL_REGEX = /^(\S+)@([a-z0-9-]+)(\.)([az]{2,4})(\.?)([az]{0,4})+$/i validates :email, format: { :with => VALID_EMAIL_REGEX } unless :guest?
但现在即使用户有guest == false或guest == nilvalidation仍在跳过
可能有什么不对?
另一种常见的validation效果很好
validates :email, presence: true, uniqueness: { case_sensitive: false } unless :guest?
试试这个代码: –
VALID_EMAIL_REGEX = /^(\S+)@([a-z0-9-]+)(\.)([az]{2,4})(\.?)([az]{0,4})+$/i validates :email, presence: true, format: {with: VALID_EMAIL_REGEX}, uniqueness: {case_sensitive: false}, unless: :guest?
- Capistrano 3在目录中执行
- ProtocolViolation:ERROR:绑定消息提供0个参数,但是准备好的语句“”需要1
- Ruby on Rails:当我在admin属性上使用“toggle”方法时,为什么用户的加密密码会在数据库中被更改?
- 在Windows 7 x64上安装Ruby和Rails以及DevKit的问题 – 需要修复
- rails 4 activerecord TypeError nil不是符号
- 如何排序不是简单的哈希(散列哈希)
- 如何在rails 4.0中使用社交流
- Unicorn Rails – 在生产模式下启动时占用100%的CPU
- 在运行rake任务时如何跳过加载Rails初始值设定项?