Ruby on rails rails 4建模多对多多态关联

Ruby on rails rails 4建模多对多多态关联,ruby-on-rails,data-modeling,polymorphic-associations,Ruby On Rails,Data Modeling,Polymorphic Associations,我正在为“如何建立关系模型”的第一步而挣扎?我有以下几个模型 class CarMake end class Region end Class CarModel end 关系是“汽车制造商”有许多车型属于零个或多个地区。例如,假设本田在北美和亚洲有一款“思域”车型。此外,本田仅在欧洲有“CivicMini”。建立这些关系模型的最佳方式是什么?是不是每个卡莫代尔在整个地区都属于一家汽车制造商 另外,很少有其他模型使用这种关系 顾客 这个car引用了所有的属性,比如Ca

我正在为“如何建立关系模型”的第一步而挣扎?我有以下几个模型

class CarMake  
end  

class Region  
end  

Class CarModel  
end  
关系是“汽车制造商”有许多车型属于零个或多个地区。例如,假设本田在北美和亚洲有一款“思域”车型。此外,本田仅在欧洲有“CivicMini”。建立这些关系模型的最佳方式是什么?是不是每个卡莫代尔在整个地区都属于一家汽车制造商

另外,很少有其他模型使用这种关系

顾客 这个car引用了所有的属性,比如CarMake、CarModel、Region,但是如何(我需要另一个类来存储这些属性并在“car”中引用它呢?)
这对你有用吗

class Maker
   has_many :models
end

class Model
   has_many :regions
   belongs_to :maker
end

class Region
  belongs_to :model
end

class Car
  has_one :model
  belongs_to :customer
end

class Customer
  has_many :cars
end
因此,在这种情况下,一个客户可能有多辆相同或不同型号的汽车,并且该车型可能有许多不同的地区,并且属于一家制造商


这适用于您的用例吗?

在Car类中定义多态接口

belongs_to :car_type(interface name change according to you), polymorphic: true
汽车制造商级别

has_many :cars, as: :car_type
在CarModel课堂上

has_many :cars, as: :car_type
区域级

has_many :cars, as: :car_type

当您在cars表中存储记录时,请存储对象类型(汽车制造商、CarModel、地区)和id

RubyList,谢谢您的回复。因为我以前从未使用过这个接口,所以它给我提出了一个问题,即如何将这些类中的每一个映射到它自己的表(包括customer)?
has_many :cars, as: :car_type
has_many :cars, as: :car_type