1

私はオンラインテストアプリを構築しています。私のアプリでは、1 つの質問が正誤問題、単一選択 (1 つの回答のみが受け入れられる)、複数選択 (複数の回答が受け入れられる) のいずれかになります。私はモデルを作成します:

class Question < ActiveRecord::Base
  has_many :answers
end

class Answer < ActiveRecord::Base
  belongs_to :question
end  

質問モデルquestion_type_idには、T/F、単一または複数の選択肢であることを確認するための があります。

回答モデルには、入力されたテキストと呼ばれる列があり、どの回答が受け入れられたかを知るためにcontent呼び出されるブール列があります。correct単一および複数選択の質問では、回答はテキストで列に保存しても問題ないと思いますが、True / False の質問では、列contentに「True」、「False」などのテキストを保存して設定するのは良い考えですかcontenta 列に True の回答が受け入れられcorrectますか? True/False の質問に対処するための別のより良い方法がわかりません。誰か助けてもらえますか?

4

2 に答える 2

1

ブール値を文字列として保存することは、目的を達成するための最も合理的な方法のようです。回答を取得するときに true と false が常に同じに見えるように、保存時に値を正規化することをお勧めします。

于 2012-10-26T05:24:54.953 に答える
0

私はあなたを助けることができる前にこの種のアプリをやったので....

まず第一に、データベース内のさまざまな種類の質問を区別する必要があります...それらに ID を与えるとします。

T/F 質問の場合は 0 シングル正解 MCQ の場合は 1 複数正解 MCQ の場合は 2

これを行ったら、Options という名前の別のモデルを用意する必要があります。

質問には多くのオプションがあり、質問にはオプションによる 1 つの回答があります

オプション モデルでは、(オプション A、B、C、D) が 4 つの選択肢の質問であると仮定して、4 つの列を作成する必要があります...

于 2012-10-26T05:59:46.313 に答える