2011-02-02 150 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