2013-01-13 51 views
0

我有一個應用程序,用戶可以在其中創建測驗問題。他們可以選擇不同的答案類型:是/否布爾值,真/假布爾值,整數,字符串等。根據用戶選擇存儲和驗證不同類型

a)我應該如何存儲這些答案?在字符串類型的一列中?或者,還有更好的方法?

b)當用戶回答問題時,我將如何處理驗證?不同的答案類型將需要不同的驗證。

謝謝!

+0

+1二) - 我很想知道,太 – weltschmerz

回答

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 
相關問題