我希望我网站上的注册表单有一个字段,它取一个数学公式的总和,并使用rails验证来验证它。什么是最好的方法呢?
即
什么是6 + 9? [8]
错误消息:您输入了错误的号码
答案 0 :(得分:1)
覆盖模型类中的validate
方法。请记住,为new
操作创建的模型对象与为create
操作创建的模型对象不同,因此您需要在表单中的某处保存随机种子或数学表达式这样你就可以在验证过程中重新创建它。
然后,有些东西:
def validate
unless math_equation_answered?
errors.add("math_answer", "is incorrect")
end
end
math_equation_answered?
的实施取决于您,math_answer
应更改为您用于用户答案的任何模型字段。