у меня 3 модели.Это модели User
, Product
и Price
.Я хочу, чтобы Users
мог подписаться на Products
и смотреть модель Price
по более низким ценам.Я думаю о том, как это настроить, но не выяснил правильные ассоциации.
Мои ассоциации на данный момент выглядят так:
Примечание: много полей (таблицастолбцы также были стерты для простоты
class User
has_many :prices, :dependent => :destroy
has_many :products, :through => :prices
end
class Product
# table columns - :name
has_many :prices
has_many :users, :through => :prices
end
class Price
# table columns - :cost, :user_id, :product_id, :store_id
belongs_to :user
belongs_to :product
belongs_to :store
end
Я собирался установить это, сделав логическое значение в Product
модели под названием :watch_product
, но я застрял в ассоциациях.Должен ли я дать Product
a user_id
или наоборот?У меня есть :through
связь, но нет user_id
на Product
или product_id
на User
.Должен ли watch_product
перейти на Price
вместо этого?