Rails - Has_many,选择了一个选项

时间:2013-03-16 05:59:26

标签: ruby-on-rails ruby-on-rails-3

我有一个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?

我知道有多种方法可以做到这一点,但我试图了解哪种方案通常被认为是最佳做法。

1 个答案:

答案 0 :(得分:1)

我将accepted_answer_id添加到问题中,并将其指向PossibleAnswer。