Ruby on Rails + mongoid:未找到验证器

问题描述:

mongo => 2.0.4 
rails => 3.2.2 
ruby => 1.8.7 

我正在学习一个教程(实际上是一些教程的组合),并且我有一个相对简单的模型,并且正在研究一个CRUD。我读过的一切说把这个:Ruby on Rails + mongoid:未找到验证器

class Foo 
    include Mongoid::Document 
    field :foo 
    validates :foo, presence: true 
end 

一切都在第一份工作,但我增加了validates线。我得到这个错误:

syntax error, unexpected ':', expecting kEND 
    validates :task, presence: true 

我不得不认为这是由于一些老版本的红宝石。我也试过这样:

class Foo 
    include Mongoid::Document 
    field :foo 
    validates :foo, presence => true 
end 

......但后来我在浏览器中得到

Unknown validator: 'FooValidator' 

,但运行时guard简单Unknown validator: 'Validator'(使用rspec)。我不确定问题是什么,谷歌一直没有帮助。看来,我拥有的两个街区都应该有效。

更改...:foo, presence...:foo, :presence