2012-05-02 29 views
1

我正在处理我的第一个rails项目,并且我已经使用rails建立了一个小型站点,现在我正在尝试着手rails教程来构建博客。错误:“未知验证器:'PresencesValidator'”试图验证表单

当我试图验证我的博客帖子时,我被困在了6.5的http://guides.rubyonrails.org/getting_started.html,这是我得到的错误: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 

我也试过只设置:存在=>真实的,但同样的错误。

为什么我得到这个错误,我该如何解决它?

回答

14

因为这是一个错字:

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

你写presences,当你的意思是写presence

此外,您对这些消息给出的消息是默认消息,因此您实际上不需要提供消息。

validates_presence_of :name, :title, :content 

这将完成同样的确切行为,你试图写代码:

最后一件事,如果你想验证的三件事情的存在,你可以通过做它在一行。有两种验证语法,当你对每个属性进行大量验证时,你使用的语法更好,我个人认为当你有许多不同的属性需要运行同一个验证时,其他类型会更好。基本上无需打字。

看看Validations and Callbacks指南作为参考。干杯。