Ruby on rails rails 3自定义验证器错误

Ruby on rails rails 3自定义验证器错误,ruby-on-rails,Ruby On Rails,我在跟踪Ryan Bates的火车司机。我发现,当我试图建立我的自定义字段验证器时,我的rails 3并没有按预期工作 我在lib/下建立了一个新的email_format_validator.rb文件,代码如下: class EmailFormatValidator < ActiveModel::EachValidator def validate_each(object, attribute, value) unless value =~ /^([^@\s]+)@((?:[

我在跟踪Ryan Bates的火车司机。我发现,当我试图建立我的自定义字段验证器时,我的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
浏览器抱怨:

未知验证程序:“电子邮件格式”


为什么??如何解决此问题?

您需要重新启动服务器。默认情况下不会加载
lib
目录,因此需要重新启动Rails服务器才能加载此验证器

编辑:


尝试将它们置于
lib/validators
下并重新启动服务器…

您需要重新启动服务器。默认情况下不会加载
lib
目录,因此需要重新启动Rails服务器才能加载此验证器

编辑:


尝试将它们放在
lib/validators
下,然后重新启动服务器…

我将“email\u format\u validator.rb”放在“config/initializers”下。然后重新启动服务器。现在一切都好了

我把“email\u format\u validator.rb”放在“config/initializers”下面。然后重新启动服务器。现在一切都好了

很抱歉,但这仍然不起作用。。。。我试着把它放在'config/initializers'下。很抱歉,这仍然不起作用。。。。我试着把它放在'config/initializers'下。现在它正在工作。。
validates :email, :presence => true, :uniqueness => true, :email_format=>true