我正在Rails中构建一个自定义的电子商业网站。
在我的数据模型中,products
有许多SKU
,而SKU
有两个属性:大小和颜色。
我想知道如何在此方案中添加产品图片。
一个自然的事情是通过has_many
关系将它们放在产品上。但是,如果我这样做,可能很难解释一个事实,即同一产品上颜色不同的SKU具有不同的图像。
如果另一方面,我以has_many
的方式将产品图片添加到SKU中,则可以解决颜色问题,但又提出了一个新问题:在颜色内,所有SKU都具有相同的产品图片,无论他们的大小。
也就是说,产品尺寸不会影响产品的图片,但会影响产品颜色。
鉴于将图像同时添加到产品和SKU中存在问题,也许我需要创建一个捕捉UserFacingProductEntity
想法的新模型。
但是必须先解决此问题。
答案 0 :(得分:0)
我打算在评论中这样做,但不合适。
恕我直言,这是sku
的定义方式。这是一个常见的“问题”,特别是如果您正在努力支持现有数据集(通常需要数年的时间,这意味着无法更改)。
TLDR; Product
的每个变体都是sku
,将以这种方式无论如何来实现/制造/分发/跟踪/报告。
“深度”变化如何变化,颜色{em>和大小分别为skus
? vs大小只是颜色变化skus
的“方面”,很可能由业务的产品线决定。
实际示例:如果我订购了红色的ITEM A,则尺寸为L:
或者:
在这一点上,图像(如上,仅考虑一个 方面)位于color
变体sku
级别和/或size
产品类型因素就足够了。
Hth ...