私は選択肢の表に各選択肢を格納し、それらを質問にリンクするか、すべての選択肢と質問テキストを含むオブジェクトを作成し、 1レコード??レール3.1、多肢選択試験、どのように設計するのですか?
私がシリアライズされたオブジェクトメソッドを選択した場合、質問に属する自分自身の何千もの選択肢レコードを保存します。
class Quiz < ActiveRecord::Base
has_many :choices
end
class Choice < ActiveRecord::Base
belongs_to :quiz
end
だから、どの方法を検討するのですか?
ありがとうございました。私のやり方を啓発しました。同じトピックに関する私の他の質問をチェックしてください。http://stackoverflow.com/questions/8102682/rails-3-1-how-to-calculate -answers-number-foreign-key – simo
hello mu、関連付けられたテーブルを質問テーブルにマージすることをお勧めしますか?私は次のような新しいフィールドを持っています:choice1、choice2、choice3、choice4、type string ??これはより良いデザインでしょうか?スピードとパフォーマンスに関して? – simo
@Samir:4つの選択肢しかないと確信しているなら、4つの列が合理的な選択肢です。私はおそらく別のテーブルに行くだろうが、あなたは簡単に外国のキーを返すことができます選択肢に戻って。基本的なルールは、すべてをできる限り正規化し、必要に応じて非正規化することです。パフォーマンスの問題が起きるまではどこにいるのか分かりません。クリーンで正規化されたコードを最適化することは、時期尚早に最適化されたコードをクリーンアップするよりも簡単です。 –