gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:05 24 4
gpt4 key购买 nike

我目前正在学习 RoR,我想我一定是误解了什么。

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

验证不会抛出任何错误。当我尝试 user_instance.save 时,记录不会写入数据库,所以在那个阶段它显然工作正常。我做错了什么?

最佳答案

当您想在记录保存时引发异常,请使用 save!而不是 save (与 update/update!, create/create! 相同)。

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

参见 When Does Validation Happen? .

关于ruby - 为什么我不能在控制台中检查 ActiveRecord 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234313/

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