2009-10-09 48 views
0

就像在計算器上,在我的應用程序,用戶可以寫的問題,也可以提供答案:單個模型可以「屬於」多個父模型嗎?

class User < ActiveRecord::Base 
    has_many :questions 
    has_many :answers 
end 

class Question < ActiveRecord::Base 
    has_many :answers 
    belongs_to :user 
end 


class Answer < ActiveRecord::Base 
    belongs_to :question 
    belongs_to :user 
end 

我的問題的答案模型上面做:

它是確定一個Answerbelong_to用戶和問題模型?

我有一種感覺,我在某處讀到一個模型只能有一個外鍵。如果是這樣,我該如何糾正?

回答

3

是的,它是完全可以的,當你的領域模型變得越來越複雜時,你將會擁有許多擁有許多belongs_to的模型。我不知道你會在哪裏看到模型只能有一個外鍵。

+0

許多人認爲,因爲一個類只能有1 **父**,所以模型只能有1個belongs_to。一種誤解,但實際上很普遍。 – colinross 2011-05-26 09:30:31

相關問題