【发布时间】:2013-12-23 07:01:24
【问题描述】:
我在模块中有EmailValidator 类,例如:
module ActiveModel
module Validations
class EmailValidator < EachValidator
def validate_each(record, attribute, value)
if value.presence && (value =~ /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/).nil?
record.errors[attribute] << (options[:message] || "is invalid")
end
rescue => e
record.errors[attribute] << (options[:message] || "is invalid")
end
end
end
end
我试图在我的模型中使用它,但是当我尝试启动 rails 服务器时遇到加载错误 => email_validator.rb 来定义 EmailValidator (LoadError)
谁能帮我解决这个问题?
【问题讨论】:
-
这个模块是否在一个名为
email_validator.rb的文件中? -
是的。该文件位于 lib/active_model/validations/email_validator.rb
-
在 application.rb 上有这个
config.autoload_paths += %W(#{config.root}/lib)吗? -
我在 application.rb 中有这个配置设置
-
为什么要把它放在一个模块中?我已经把它放在了一个 app/validators 文件夹中,但只是简单地定义了这个类,它周围没有任何模块
标签: ruby-on-rails ruby validation ruby-on-rails-3.2