首页 > 解决方案 > 如何在 Ruby on rails 中获取验证错误消息?

问题描述

我目前正在使用 OpenClassrooms 在 Rails 上学习 Ruby,他们正在使用这段代码:

validates :name, presence: {
    message: "Give a name"
}

当我尝试创建一个没有名称的对象时,我没有收到任何错误。例如 :

me = Person.new name:""
me.errors.to_hash
=> {}

使用相同的示例(只是不同的类),OpenClassrooms 得到一个错误,我不知道为什么我没有得到任何错误

标签: ruby-on-railsrubyvalidation

解决方案


验证后将错误添加到对象中。当您调用 时new,您没有验证任何内容,因此该对象没有错误。

如果您尝试保存它然后检查错误,您将得到您正在寻找的内容:

me = Person.new name:""
me.errors.to_hash
=> {}
me = Person.new name:""
me.save
=> false
me.errors.to_hash
=> ActiveModel::Errors...

推荐阅读