加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 为什么我不能在控制台中检查ActiveRecord验证?

发布时间:2020-12-16 21:26:10 所属栏目:百科 来源:网络整理
导读:我现在正在学习RoR,我想我一定是在误解. 我有一个ActiveRecord类调用User,其上有简单的验证:name和:email,如presence:true,length:{maximum:15}等等.我以为我会在控制台中检查验证.我进入rails console(开发环境),并创建一个名称太长的新实例,例如 user
我现在正在学习RoR,我想我一定是在误解.

我有一个ActiveRecord类调用User,其上有简单的验证:name和:email,如presence:true,length:{maximum:15}等等.我以为我会在控制台中检查验证.我进入rails console(开发环境),并创建一个名称太长的新实例,例如
user_instance = User.new(名称:“aaaaabbbbbcccccddddd”,电子邮件:“”).

验证不会引发任何错误.当我尝试user_instance.save时,记录不会写入数据库,因此在该阶段显然工作正常.我究竟做错了什么?

解决方法

如果要在保存记录时引发异常,请使用 save!而不是 save(与更新/更新相同!,创建/创建!).

使用save,如果存在验证错误,则不会引发异常,它将返回false.您还可以使用user_instance.valid检查实例上是否存在错误?并使用user_instance.errors获取错误.

见When Does Validation Happen?.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读