2013-03-16 65 views
0

我有一個Rails應用程序可以解答一些問題。這是一個選擇權衡的實驗,對於每個問題,許多答案都是動態生成的。因此,我需要保留記錄,不僅爲每個問題選擇了哪個答案,還要向每位用戶提供哪些選項。Rails - 選擇了一個選項的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和have_one AcceptedAnswer?

我知道有多種方法可以做到這一點,但我試圖瞭解哪種選項通常會被認爲是最佳做法。

回答

1

我會將accepted_answer_id添加到問題中並讓它指向PossibleAnswer。

相關問題