Ruby on rails 未找到自定义验证
我跟随这位官员是为了创建一个简单的自定义验证,检查电子邮件地址的格式是否正确 在应用程序库文件夹中,我创建了名为email\u format\u validator.rb的文件,其中包含以下代码:Ruby on rails 未找到自定义验证,ruby-on-rails,ruby,ruby-on-rails-3,customvalidator,Ruby On Rails,Ruby,Ruby On Rails 3,Customvalidator,我跟随这位官员是为了创建一个简单的自定义验证,检查电子邮件地址的格式是否正确 在应用程序库文件夹中,我创建了名为email\u format\u validator.rb的文件,其中包含以下代码: class EmailFormatValidator < ActiveModel::EachValidator def validate_each(object, attribute, value) unless value =~ /\A([^@\s]+)@((?:[-a-z0-9
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
如果我对email\u format:true部分进行注释,则视图可访问,否则,当该行显示在下面的屏幕截图上时,会生成错误:
库
不会自动添加到加载路径
。要解决此问题,请在config.autoload_path
中附加lib
文件夹,或在模型开头添加require
require 'lib/email_format_validator'
谢谢你修复了这个问题。但这很奇怪——我使用的是torquebox,它会自动将lib文件夹中的所有jar文件添加到我的加载路径中。也许,它没有添加.rb文件。
require 'lib/email_format_validator'