這可能是一個新手問題,但我無法弄清楚最佳解決方案。 我有一個Color
模型和一個Cover
模型。大多數時候,一個覆蓋has_one :color
。也許一出一百箱,封面has_many :colors
。 我必須執行兩個模型之間的has_many :through
關聯嗎?看起來多餘。定義這種關係的最佳做法是什麼?Rails:主要有has_one /有時has_many關係
0
A
回答
1
我認爲你應該覆蓋一般情況,當Cover has_many :colors
。所以這是一個多對多的關係。在這種情況下,你將有2種選擇:
使用連接表,如果你只需要存儲
cover_id
和color_id
在連接表,所以你會用has_and_belongs_to_many
定義的關聯。有了這個選項,你將不得不創建連接表。使用加盟模式,如果你需要存儲不僅
cover_id
和color_id
,還包括其他的屬性,你需要做一些計算,所以你必須使用has_many :through
來定義的關聯。有了這個選項,你將不得不創建新的模型。
0
封面has_many :colors
將是最好的方式,即使只有一個需要它的情況。
+0
顏色也'has_many:覆蓋',因此它成爲一個多 - 許多協會。我是否需要創建一個新的'Relationship'模型並實現'has_many:through'? –
相關問題
- 1. 多個has_one和has_many關係
- 2. has_many和has_one關係SilverStripe
- 3. Rails的多態的關係 - 需要同時使用的has_many和HAS_ONE
- 4. rails has_one of has_many association
- 5. 有主要關係
- 6. Rails不要建立兩次has_one關係
- 7. Rails確定關聯是has_one還是has_many
- 8. Rails中的has_one和has_many關聯
- 9. rails:有2個關係字段的has_many
- 10. Rails的has_many關係沒有使用ID
- 11. 既包括的has_many和HAS_ONE關係,與兩種模式有一個的has_many到HAS_MANY關係
- 12. has_many:通過多個has_one關係?
- 13. 變化的has_many到HAS_ONE關係
- 14. ActiveRecord has_one和has_many的關係相同:foreign_key
- 15. 其中HAS_ONE關係沒有關係
- 16. Rails belongs_to和has_many沒有創建主外鍵關係
- 17. Rails has_one通過關係
- 18. Rails如何沿同一類型的has_many關係保持has_one關係
- 19. 需要編程方法來檢測has_many和has_one關係
- 20. Rails 3 has_one/has_many問題
- 21. 使用has_one和has_many關聯
- 22. 有belongs_to的/的has_many關係
- 23. Ember和Rails has_many關係
- 24. Rails的問題has_many關係
- 25. Rails的:下的has_many關係
- 26. Rails 3.2基本關係has_many
- 27. Rails has_many通過關係
- 28. Rails find_by has_many關係的宏
- 29. Rails has_many關係很奇怪
- 30. Ruby:與外鍵有has_one關係?
謝謝。你引導我走向正確的方向。 –