2012-05-02 48 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指南作爲參考。乾杯。