我有一个特定于项目的问题。我正在尝试确定在我的应用程序中设置模型的最有效和最合乎逻辑的方式。此处要建模的相关参与者是:供应商、供应商库存和产品。以下是每个项目应该能够以某种方式返回的内容的细分:
库存:商店 ID 产品和相关详细信息(价格、名称、品牌、详细信息、产品代码)
供应商:商店 ID、位置、名称
产品:价格、名称、品牌、详细信息、产品代码
显然,该方案在产品和库存之间存在很多重复。我的问题是,虽然供应商的库存中可能有类似的物品,但价格总是不同的。所以我不能简单地通过产品代码来关联模型。因为大多数供应商都会有相同的产品,如果我用所有产品信息来模拟商店库存,那不是很多重复吗?也有可能我不需要为供应商提供单独的模型,可以尝试保留所有库存,但我迷路了。请帮忙?!提前致谢。
编辑:
这是我的模型结构,尽管我不确定它是否理想。
class Vendor < ActiveRecord::Base
attr_accessible :name, :address
has_one :inventory
has_many :products, through: :inventories
end
class Inventory < ActiveRecord::Base
has_many :products
belongs_to :vendor
end
class Product < ActiveRecord::Base
attr_accessible :upc, :brand, :product, :details, :price
has_many :inventories
has_many :vendors, through: :inventories
end