我有一个用户创建测验问题的应用程序。他们可以从各种答案类型中进行选择:yes / no boolean,true / false boolean,integer,string等。
a)我应该如何存储这些答案?在一列字符串类型?或者有更好的方法吗?
b)当用户回答问题时,我将如何处理验证?不同的答案类型需要不同的验证。
谢谢!
答案 0 :(得分:0)
我建议使用两列Strings
。制作第一个answer
,另一个answer_type
。
然后,您可以创建自定义验证:
class MyValidator < ActiveModel::Validator
def validate(record)
if record.answer_type == 'String'
# preform String validations on record.answer
else if record.answer_type == 'Integer'
# preform Integer validations on record.answer
else if record.answer_type == 'Boolean'
# preform Boolean validations on record.answer
end
end