错误:"未知验证器:' PresencesValidator'"在尝试验证表单时

时间:2012-05-02 03:56:57

标签: ruby-on-rails ruby ruby-on-rails-3

我正在开发我的第一个rails项目,并且我已经使用rails构建了一个小站点,现在我正在尝试按照rails教程开始构建一个博客。

我在尝试验证我的博文时遇到了http://guides.rubyonrails.org/getting_started.html的6.5,这是我得到的错误:Unknown validator: 'PresencesValidator'

这是我的帖子模型

class Post < ActiveRecord::Base
    validates :name, :presence => { :message => "Name cannot be blank" }
    validates :title, :presence => { :message => "Title cannot be blank" }
    validates :content, :presences => { :message => "Content cannot be blank" }
end

我也试过设置:presence =&gt;是的,但同样的错误。

为什么我会收到此错误,我该如何解决?

1 个答案:

答案 0 :(得分:14)

因为这是一个错字:

validates :content, :presences => { :message => "Content cannot be blank" }

当你打算写presences时,你写了presence

此外,您提供的信息是默认信息,因此您实际上无需提供信息。

最后一件事,如果您想验证三件事的存在,您可以通过以下方式在一行中完成:

validates_presence_of :name, :title, :content

这将完成与您尝试编写的代码完全相同的行为。有两种验证语法,当你对每个属性进行大量验证时,你一直在使用的验证语法更好,我个人认为当你有许多不同的属性要运行相同的验证时,另一种更好。基本上以较少的打字为准。

查看Validations and Callbacks指南作为参考。欢呼声。