Ruby on Rails中的多态模型?
问题描述:
对于我正在开发的一个项目,该店有两种类型的产品 - 真正的产品和一组产品。Ruby on Rails中的多态模型?
对于本次讨论,我们称之为“1件T恤”和“1件T恤”。对于一件T恤,我需要存储常规属性 - 价格,SKU,尺寸,颜色,描述等。对于T恤衫,我需要有价格,SKU,描述和T恤衫列表,包括衬衫。
所以现在我用Shirt和ShirtCollection模型代表这个。当我需要进行报告和订单管理并确保SKU是唯一的时候,我可以看到这导致了困难。
那么代表这个的最好方法是什么?
答
我想有以下型号
T恤
TshirtBox的has_many TshirtItems
TshirtBoxItems(这基本上是用一个id tshirt_box_id和tshirt_id连接表)belongs_to的TshirtBox
TshirtBoxItems是链接的方式有盒子的T恤和未来可能的其他东西。
答
你可以有一个Tshirt表,然后用has_many:through关联自引用它。
T恤 - ID,SKU,价格,尺寸,颜色,规格,is_box
TshirtBox - parent_tshirt(ID引用T恤),child_tshirt(ID引用T恤)
退房此链接了解更多上自引用has_many:通过http://www.aldenta.com/2006/11/10/has_many-through-self-referential-example/