我正在構建一個系統來跟蹤資產並對其進行建模。 基本上,問題是由於所有資產都具有一些共同屬性(如inventoryID,purchaseDate,Notes,Location等)以及它們自己的屬性(取決於我們要去的細節級別)的事實。因此,例如我們有打印機和電腦 - 顯然它們有共同的和特定的屬性。導軌設備/資產/庫存建模
我現在正在摸索我的頭如何處理這種關係的建模並儘可能優化它。
STI太麻煩了,甚至沒有考慮到。 我的其他選擇是什麼? 我正在研究如何用多態關聯來做到這一點,但我不確定這是做到這一點的正確方法。
我想在這樣的:沿着這條道路
Inventory has_many: :computers, as: :asset (common attributes)
Inventory has_many: :printers, as: :asset (common attributes)
Computer belongs_to: :asset, polymorphic (specific attributes)
Printer belongs_to: :asset, polymorphic (specific attributes)
東西...
我不知道這甚至有可能,似乎陰暗的我。 那麼,最好的方法是什麼?
STI爲什麼凌亂?在我看來,這是解決您的問題的好方法。 STI在Rails中非常簡單。 – dimakura
由於N個記錄上有N個未使用的字段,我看到它很混亂。當數據量很大時,將它分成多個表格會更好嗎? –
是的,如果有很多不同的領域,STI不是最好的選擇。但是,如果模型之間的偏差不是太大,STI是很好的。 – dimakura