Ruby on rails 使用文件进行自定义验证
我有一个带有注册码字段的用户注册表:注册码。我在一个yml文件中有一个有效注册码列表,但如果这让事情变得更容易的话,我不必这样做。我需要检查用户在“注册码”字段中输入的代码是否有效。我是rails/ruby新手,不知道如何加载和解析文件以检查注册码 我的班级:重要的部分,无论如何Ruby on rails 使用文件进行自定义验证,ruby-on-rails,validation,yaml,Ruby On Rails,Validation,Yaml,我有一个带有注册码字段的用户注册表:注册码。我在一个yml文件中有一个有效注册码列表,但如果这让事情变得更容易的话,我不必这样做。我需要检查用户在“注册码”字段中输入的代码是否有效。我是rails/ruby新手,不知道如何加载和解析文件以检查注册码 我的班级:重要的部分,无论如何 class Foo < ActiveRecord::Base ...more class goodness here... before_create :validate_reg_code def
class Foo < ActiveRecord::Base
...more class goodness here...
before_create :validate_reg_code
def validate_reg_code
errors.add(:reg_code, "Sorry, this registration code is invalid.") if reg_code
end
end
“如果注册码”部分之后我没有任何线索。我个人将注册码加载到数据库中。创建注册码模型,然后:
def validate_reg_code
unless RegistrationCode.find_by_code(self.reg_code)
errors.add(:reg_code, "Sorry, this registration code is invalid.")
end
end
如果您想解析Yaml,可以通过Yaml::Load命令在rails中解析
YAML::load(File.open("#{RAILS_ROOT}/config/registration_codes.yml"))
这将把yaml文件加载到散列中。我需要修改yaml文件的结构以进一步帮助您。太好了!工作起来很有魅力。非常感谢。