我正在創建一個具有三種模型的Rails應用程序。一個模型代表汽車,另一個模型代表可以塗上汽車的顏色,而第三個模型代表某種顏色的汽車訂單。構建這些模型之間關係的最佳方式是什麼?在Rails中建模這些關係的最佳方法
2
A
回答
3
這是非常基本的東西。我建議你仔細閱讀關於Active Record關聯的Rails guide。爲了讓你去:
class Car < ActiveRecord::Base
has_many :orders
belongs_to :color
end
class Color < ActiveRecord::Base
has_many :cars
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :car
belongs_to :color
end
0
我覺得這與Janteh有點不同。當您下訂單時,您以特定顏色訂購特定汽車,對吧?所以,我認爲汽車和顏色應通過順序有關,是這樣的:
class Car < ActiveRecord::Base
has_many :orders
end
class Color < ActiveRecord::Base
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :car
belongs_to :color
end
這主要是什麼Janteh建議,但我沒有車直接與特定顏色相關聯。
+0
但是你也想知道你可以訂購某款車的顏色是多少? – Janteh
0
我更喜歡has_many:通過關係。這樣,您可以訪問訂購了某輛汽車的所有顏色,並且所有汽車都以特定顏色訂購。
class Car < ActiveRecord::Base
has_many :orders
has_many :colors, :through => :orders
end
class Color < ActiveRecord::Base
has_many :orders
has_many :cars, :through => :orders
end
class Order < ActiveRecord::Base
belongs_to :car
belongs_to :color
end
相關問題
- 1. 建模這些Rails關係的最佳方法
- 2. 在rails上用ruby建模對稱關係的最佳方法是什麼?
- 3. 在Rails中構建像Facebook這樣的Feed通知系統的最佳方法?
- 4. 在對象模型中定義關係的最佳方法?
- 5. 數據庫設計 - 管理這些關係的最佳方式
- 6. 構建這些關係的最佳方式是什麼?對HABTM還是不?
- 7. 處理這些MySQL數據庫關係的最佳方法是什麼?
- 8. 定義MySQL關係的最佳方法
- 9. 建立這些複雜模型關聯的最佳方式是什麼?
- 10. 創建這些表格的最佳方法
- 11. Rails 4關係狀態方法,這是最優的嗎?
- 12. 創建網關的最佳方法
- 13. 在couchdb中建立freindship關係的最佳方式
- 14. has_many:通過關係模擬這些數據的正確方法?
- 15. 在Rails中建立這種關係最常用的方式是什麼?
- 16. Rails最佳實踐:在模型中創建關聯對象
- 17. 在Django中建模異構多對多關係的最佳方式是什麼?
- 18. GAE JDO - 建立這些關係的正確方法是什麼?
- 19. 在CodeIgniter中處理關係數據的最佳方法?
- 20. 在Maven中設置外部依賴關係的最佳方法
- 21. 在has_and_belongs_to_many關係中保存依賴對象的最佳方法?
- 22. 這是在Java中建模矩陣的最佳方式?
- 23. 表示軟件系統的最佳建模方法是什麼?
- 24. Rails:在ActiveRecord中建模可選關係
- 25. 在Rails中建模自定義關係
- 26. 在Rails中創建預覽功能的最佳方法
- 27. Django:在ManyToMany關係中突出顯示主/關係關係的最佳方式
- 28. 在mongodb中建立多對多關係的最佳方法是什麼?
- 29. 這是在Silex中構建index.php文件的最佳方法嗎?
- 30. 在rails模型中創建「one」到「one or two」關係的最佳方式是什麼?
不是一個糟糕的開始,可能需要添加驗證到訂單,以確保訂單中的顏色與選定的汽車兼容。 – EmFi