2011-02-02 181 views
0

我正在關注Ryan Bates的Railscast。我發現當我試圖建立自己的定製字段驗證器時,我的導軌3無法按預期工作。rails 3自定義驗證器錯誤

我在lib下建立了新的email_format_validator.rb文件/及代碼爲:

class EmailFormatValidator < ActiveModel::EachValidator 
    def validate_each(object, attribute, value) 
    unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i 
     object.errors[attribute] << (options[:message] || "is not formatted properly") 
    end 
    end 
end 

我把這個線在我的user.rb(型號文件):

validates :email, :presence => true, :uniqueness => true, :email_format=>true 

的瀏覽器投訴:

未知驗證器:'email_format'

爲什麼?如何解決這個問題?

回答

0

我把下的 '配置/初始化' 'email_format_validator.rb'。然後重新啓動服務器。一切正在工作..

4

您將需要重新啓動服務器。 lib目錄默認沒有加載,因此您需要重新啓動Rails服務器才能加載此驗證程序。

 

編輯:

嘗試把他們lib/validators下,並重新啓動服務器...

+0

謝謝。我試過這個。仍然沒有工作.. – lkahtz 2011-02-02 05:32:52