我不确定我是否可以用我的协会来完成我想要的东西。
这是我在我的应用程序中想要的场景:
用户将选择商店。然后在该商店内部,用户选择产品,然后可以为该产品添加新价格。
class Business < ActiveRecord::Base
has_many :stores
end
class Store < ActiveRecord::Base
belongs_to :business
has_many :prices
end
class User < ActiveRecord::Base
has_many :prices, :dependent => :destroy
has_many :products, :through => :prices
end
class Price < ActiveRecord::Base
belongs_to :user
belongs_to :product
belongs_to :store
end
class Product < ActiveRecord::Base
has_many :prices
has_many :users, :through => :prices
end
我不确定这是否正确,因为产品不属于商店(表中为integer store_id
)。
要使此方案成功,我需要做些什么?这是正确的设计吗?
答案 0 :(得分:1)
对于您要做的事情,这是一个很好的正确设计。
如果产品属于商店,那么产品只能在一家商店。由于商店可能有许多产品,并且产品可能在许多商店出售,因此您需要另一个参考产品和商店的商品。