Quotation App - Ассоциации активных записей Rails - PullRequest
1 голос
/ 22 сентября 2019

Я надеюсь, что кто-то может помочь мне с этим, поскольку я пытался придумать лучший способ сделать это на пару дней.

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

В каждом магазине может быть много брендов, и у каждого бренда будет размер скидки в зависимости от магазина.

Так, например, у меня может быть store_1 со скидкой 10%brand_1 и store_2 со скидкой 20% brand_1.

Как лучше настроить отношения между этими моделями, чтобы можно было легко получить сумму скидки для бренда через продукт, но отфильтровать по магазину?

Надеюсь, это имеет смысл.

1 Ответ

0 голосов
/ 22 сентября 2019

Один из способов установить это следующим образом:

Store -> has_many :discounts
Store -> has_many :brands, through: :discounts

Brand -> has_many :discounts
Brand -> has_many :stores, through: :discounts

Discount -> belongs_to :brand
Discount -> belongs_to :store

Это даст вам возможность совершать такие звонки, как:

store.brands
store.discounts

brand.stores
brand.discounts

discount.store
discount.brand

Если вы хотите узнать, сколькоскидку, которую вы даете в определенном магазине для определенной марки, вы можете сделать это:

brand.stores.find_by(name: 'Store Name').discounts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...