Rails - Polymorphic Favorites (пользователь может любить разные модели)
Мы пытаемся добавить несколько предпочтительных объектов, где пользователь может добавить в избранное много разных объектов, но не уверен, как заставить это работать.
Вот любимая модель:
class Favorite < ActiveRecord::Base
# belongs_to :imageable, polymorphic: true
belongs_to :user
belongs_to :category
belongs_to :business
belongs_to :ad_channel
belongs_to :location
belongs_to :offer
end
Пользовательская модель:
class User < ActiveRecord::Base
has_many :favorites, as: :favoritable
end
И один пример модели чего-то, что можно отдать предпочтение:
class Category < ActiveRecord::Base
has_many :sub_categories
has_many :ad_channels
has_many :offers
belongs_to :favoritable, polymorphic: true
end
Я не уверен, что все настроено правильно, поэтому в первую очередь нам нужна обратная связь.
Во-вторых, как мы «любим» что-то для пользователя?
Это то, что мы до сих пор безуспешно пытались:
@user.favorites << Category.find(1)
РЕДАКТИРОВАТЬ: Кроме того, это будет нуждаться в таблице базы данных избранного для записи вещей? Это довольно новая концепция для нас.