2012-05-10 128 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