Модель для интернет-магазина - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь создать магазин электронной коммерции. Моя главная идея - каждый пользователь может создать свой собственный магазин, и у меня есть такие модели:

модель / user.rb:

class User < ApplicationRecord
   has_one :store
end

модель / store.rb:

class Store < ApplicationRecord
   belongs_to :user   
   has_many :products
end

модель / product.rb

class Product < ApplicationRecord
   belongs_to :store
end

Я не знаю, достаточно ли хороши отношения между этими моделями, или я должен их изменить. И для дальнейшего обновления, если пользователь_1 добавит продукт, проданный пользователем_2, в свою корзину, я не знаю, каковы будут отношения между этими двумя пользователями

1 Ответ

1 голос
/ 29 июня 2019

Ваши модели еще не имеют отношения между 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...