我有一个用户注册表单与注册码域(:reg_code)。我有一个有效注册码的列表(在一个yml文件中,但如果这样可以让事情变得更容易,则不必如此)。我需要检查用户是否在reg code字段中输入了有效的代码。我是一个rails/ruby新手,不知道如何加载和解析文件来检查reg代码。
我的班级:(不管怎样,重要的部分)
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‘部分之后我没有任何线索。
发布于 2010-06-25 11:10:22
个人而言,我将注册码加载到数据库中。创建注册码模型,然后:
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,可以在rails中通过YAML::Load命令来完成
YAML::load(File.open("#{RAILS_ROOT}/config/registration_codes.yml"))这会将yaml文件加载到散列中。我需要yaml文件的结构来进一步帮助你。
https://stackoverflow.com/questions/3115107
复制相似问题