我有一个 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?
我知道有多种方法可以做到这一点,但我试图了解哪个选项通常被认为是最佳实践。