2012-04-13 128 views
1
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)。我不確定問題是什麼,谷歌一直沒有幫助。看來,我擁有的兩個街區都應該有效。

回答

1

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