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 => true,但同样的错误。

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

4

1 回答 1

16

因为这是一个错字:

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

presences当你打算写的时候你写了presence

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

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

validates_presence_of :name, :title, :content

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

查看验证和回调指南作为参考。干杯。

于 2012-05-02T04:04:26.733 回答