2012-05-10 51 views
0

我被困在一個簡單的設計問題上。 我有很多公司。 每家公司都有一個或多個商業活動。 活動類型有:電子商務,本地單位,電視機,自動售貨機等。 公司可能有一個或多個電子商務活動或一個或多個本地單位活動,一個或多個自動售貨機等。 如何爲此場景建模? 公司 has_many電子商務 has_many local_units has_many電視 等?關於設計模型的建議

回答

1

您可以通過使用子類的功能概括你的活動,這裏是設計

class Company < ActiveRecord::Base 
    has_many :activities 
end 

class Activity < ActiveRecord::Base 
    belongs_to :company 
end 

class VendingMachine < Activity 
end 

company = Company.create 
company.activities << VendingMachine.new 
company.save 
+0

你的意思是使用Rails STI一個想法? – Mauro

+0

是的我的意思是相同的 – abhas

+0

vending_machine,local_unit,電視和其他他們不共享相同的屬性,使用STI可能是一個問題。 – Mauro