我有一个用户注册表单,其中包含注册码字段(:reg_code)。我有一个有效的注册码列表(在yml文件中,但如果这样做更容易,则不必如此)。我需要检查用户是否输入了reg代码字段中的有效代码。我是一个rails / ruby新手并且没有CLUE如何加载&解析文件以检查注册码。
我的班级:(重要部分,无论如何)
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
我在'if reg code'部分之后没有任何线索。
答案 0 :(得分:0)
就个人而言,我将注册码加载到数据库中。创建注册码模型,然后:
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文件来帮助你。