2010-04-15 58 views
1

我有這些模型:指類似的關聯模型與一個共同的名字

class Bill < ActiveRecord::Base 
    has_many :calls 
    has_many :text_messages 
end 

class Call < ActiveRecord::Base 
    belongs_to :bill 
end 

class TextMessage < ActiveRecord::Base 
    belongs_to :bill 
end 

現在,在我的域名的電話和短信都是「同一種東西」 - 即他們都「票據項目」。所以我想some_bill.bill_items返回與該帳單關聯的所有電話文字信息。什麼是最好的方法來做到這一點?

回答

0

您可以創建一個新模型,BillItems並將其插入到您的關係鏈中。然後你可以通過一個有很多直通關係的方式來集中訪問所有的賬單項目或者個人通話/短信。另一種可能性是查看single table inheritance

+0

你是什麼意思「插入你的關係鏈」?所以Bill會有_many BillItems,每個BillItem has_one調用/ text_message(通過多態關聯?),以及條例草案have_many:calls /:text_messages:through =>:bill_item? – 2010-04-15 20:13:39

+0

@Horace你明白了。 – 2010-04-15 20:26:07

相關問題