我有一个Rails应用程序可以回答一些问题。这是关于选择权衡的实验,并且对于每个问题,许多答案是动态生成的。因此,我不仅要记录每个问题选择的答案,还要记录每个选项的用户记录。
所以,我的模型是
class Survey < ActiveRecord::Base
belongs_to :user
has_many :questions
end
class Question < ActiveRecord::Base
belongs_to :survey
has_many :possible_answers
end
class PossibleAnswer < ActiveRecord::Base
belongs_to :question
end
从这里开始,跟踪选择哪个PossibleAnswer的最佳做法是什么?和指示器使用PossibleAnswer模型,然后验证逻辑以检查是否只选择了一个?或者我应该重新定义我的问题中的关系,以便have_many
RejectedAnswers和have_one
AcceptedAnswer?
我知道有多种方法可以做到这一点,但我试图了解哪种方案通常被认为是最佳做法。
答案 0 :(得分:1)
我将accepted_answer_id添加到问题中,并将其指向PossibleAnswer。