0

「関係をモデル化する方法」の最初のステップに苦労していますか? 私はいくつかのモデルをフォローしてきましたが、

class CarMake  
end  

class Region  
end  

Class CarModel  
end  

この関係は、'Car Maker' にはゼロ以上の地域に属する多くのモデルがあります。たとえば、ホンダが北米とアジアに「シビック」モデルを持っているとしましょう。また、ホンダは「CivicMini」をヨーロッパだけに持っています。これらの関係をモデル化する最良の方法は何でしょうか? 各 CarModel は Region を通じて CarMaker に属しているようなものですか?

また、この関係を利用しているモデルは他にも少なく、

お客様

class Customer  
  has_many :cars   
end  

この車は、CarMake、CarModel、Region などのすべての属性を参照しますが、どのように (これらの属性を保存して、ここで「Car」で参照するには、別のクラスが必要ですか?)

class Car  
  belongs_to :customer  
end  
4

2 に答える 2

0

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 テーブルにレコードを保存するときはいつでも、オブジェクト タイプ (CarMaker、CarModel、Region) と id を保存します。

于 2013-11-07T20:28:28.587 に答える