0

我有一个用户创建测验问题的应用程序。他们可以从各种答案类型中进行选择:是/否布尔值、真/假布尔值、整数、字符串等。

a) 我应该如何存储这些答案?在字符串类型的一列中?或者,还有更好的方法?

b) 当用户回答问题时,我将如何处理验证?不同的答案类型将需要不同的验证。

谢谢!

4

1 回答 1

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
于 2013-01-13T01:08:28.330 回答