我認爲我的問題是最好的例子。比方說,我有一個簡單的模型叫做「Thing」,它有一些簡單數據類型的屬性。像...在Rails中使用相同類的多個關聯的最佳實踐?
Thing
- foo:string
- goo:string
- bar:int
這並不難。 db表將包含三個具有這三個屬性的列,我可以通過@ thing.foo或@ thing.bar來訪問它們。
但我想解決的問題是,當「foo」或「goo」不能再包含在簡單數據類型中時會發生什麼?假設foo和goo表示相同類型的對象。也就是說,他們都是「Whazit」的實例,只是數據不同而已。所以現在的事情可能是這樣的......
Thing
- bar:int
但現在有一個名爲「Whazit」看起來像這樣的新模式......
Whazit
- content:string
- value:int
- thing_id:int
到目前爲止,這是所有的好。現在,這裏是我卡住的地方。如果我有@東西,我該如何設置它來引用我的2個Whazit實例(記錄中,「業務規則」是任何東西總是有2個Whazits)?也就是說,我需要知道我的Whazit基本上是foo還是goo。顯然,我不能在當前的設置中執行@ thing.foo,但我認爲這很理想。
我最初的想法是添加一個「名」屬性Whazit,所以我可以用我的@thing相關的Whatzits,然後按名稱選擇我想要的Whazit的方式。這看起來很難看。
有沒有更好的方法?