Ruby on rails RubyonRails中的类验证器
我正在看铁路指南。我正在尝试创建一个类验证器,但在控制台中收到以下错误消息 未初始化的常量乘积::GoodnessValidator 模型产品.rbRuby on rails RubyonRails中的类验证器,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在看铁路指南。我正在尝试创建一个类验证器,但在控制台中收到以下错误消息 未初始化的常量乘积::GoodnessValidator 模型产品.rb class Product < ActiveRecord::Base validates_with GoodnessValidator end 类产品
class Product < ActiveRecord::Base
validates_with GoodnessValidator
end
类产品
我在应用程序中创建了一个名为validators的文件夹,然后创建了一个名为goods\u validator.rb的文件
class GoodnessValidator < ActiveModel::Validator
def validate(record)
if record.amount == 12
record.errors[:base] << "The amount musn't be 12"
end
end
end
class GoodnessValidator record.errors[:base]Ruby是按顺序加载代码的,所以您应该将GoodnessValidator放在前面
class GoodnessValidator < ActiveModel::Validator
def validate(record)
if record.amount == 12
record.errors[:base] << "The amount musn't be 12"
end
end
end
class Product < ActiveRecord::Base
validates_with GoodnessValidator
end
class GoodnessValidator record.errors[:base]Ruby是按顺序加载代码的,所以您应该将GoodnessValidator放在前面
class GoodnessValidator < ActiveModel::Validator
def validate(record)
if record.amount == 12
record.errors[:base] << "The amount musn't be 12"
end
end
end
class Product < ActiveRecord::Base
validates_with GoodnessValidator
end
class GoodnessValidator record.errors[:base]Rails仅从app
目录加载特定文件夹(默认文件夹)。如果您想添加一个新的子文件夹(如验证器
),并且希望Rails从该文件夹加载文件,那么您必须通过将以下行添加到config/application.rb
来配置该文件夹:
# in config/application.rb
config.autoload_paths += %W(#{config.root}/app/validators)
Rails仅从app
目录加载特定文件夹(默认文件夹)。如果您想添加一个新的子文件夹(如验证器
),并且希望Rails从该文件夹加载文件,那么您必须通过将以下行添加到config/application.rb
来配置该文件夹:
# in config/application.rb
config.autoload_paths += %W(#{config.root}/app/validators)
尝试在user.rb顶部添加以下行
require 'validators/goodness_validator'
尝试在user.rb顶部添加以下行
require 'validators/goodness_validator'