我正在开发我的第一个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;是的,但同样的错误。
为什么我会收到此错误,我该如何解决?
答案 0 :(得分:14)
因为这是一个错字:
validates :content, :presences => { :message => "Content cannot be blank" }
当你打算写presences
时,你写了presence
。
此外,您提供的信息是默认信息,因此您实际上无需提供信息。
最后一件事,如果您想验证三件事的存在,您可以通过以下方式在一行中完成:
validates_presence_of :name, :title, :content
这将完成与您尝试编写的代码完全相同的行为。有两种验证语法,当你对每个属性进行大量验证时,你一直在使用的验证语法更好,我个人认为当你有许多不同的属性要运行相同的验证时,另一种更好。基本上以较少的打字为准。
查看Validations and Callbacks指南作为参考。欢呼声。