2013-03-16 3 views
0

나는 Survey 질문에 답하는 Rails 애플리케이션을 가지고있다. 그것은 트레이드 오프 (trade-offs)를 선택하는 실험을위한 것이고, 각 질문에 대해 많은 답변이 동적으로 생성됩니다. 따라서 각 질문에 대해 어떤 대답이 선택되었는지뿐만 아니라 각 옵션이 사용자에게 제공되었는지에 대한 기록을 유지해야합니다.레일즈 - 하나의 옵션이 선택된 Has_many

그래서, 내 모델은 여기에서

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 and have_one AcceptedAnswer?

나는 여러 가지 방법으로이 작업을 수행 할 수 있음을 알고 있지만 어떤 옵션이 일반적으로 최선의 방법으로 간주되는지 이해하려고합니다.

답변

1

Question에 accepted_answer_id를 추가하고 PossibleAnswer를 가리 키도록했습니다.

관련 문제