我正在尝试创建一个电子商务商店。我的主要思想是每个用户都可以创建自己的商店,而我有这样的模型:
model / user.rb:
class User < ApplicationRecord
has_one :store
end
model / store.rb:
class Store < ApplicationRecord
belongs_to :user
has_many :products
end
model / product.rb
class Product < ApplicationRecord
belongs_to :store
end
我不知道这些模型之间的关系是否足够好,还是应该修改它们。为了进一步更新,如果user_1将user_2出售的产品添加到他的购物车中,我不知道这两个用户之间的关系
答案 0 :(得分:1)
您的模型在User
和Product
之间还没有任何关系。
您可以说User
has_many: :products
和Product
has_one: :user
,但这种关系是不完整的。
user-product
关系需要通过store
完成。这就是has_many: through
派上用场的地方。
User
has_many :products, through: :store
Product
has_one :user, through: :store