В двух словахполиморфизм игнорируется Mongoid
Я бегу в следующее сообщение об ошибке с Validations/модель экономии
NameError (uninitialized constant PolymorphicAssociation):
фон & код
Рассмотрим следующие модели (опуская Mongoid::Document
)
class User
has_many :media_views
class MediaView
field :last_seen_at, type: DateTime
belongs_to :user
belongs_to :media, polymorphic: true
class Image
has_many :views, inverse_of :media, class_name: 'MediaView'
class Video
has_many :views, inverse_of :media, class_name: 'MediaView'
Я пытаюсь найти или обновить существующие MediaViews
через службу
# my_view_service.rb
class ViewService
def initialize(user, media)
@user = user
@media = media
end
def just_viewed!
set_view
@view.last_seen_at = Time.now
@view.save
end
def set_view
@view = MediaView.where(
user: @user,
media: @media,
).first_or_initialize
end
ViewService.new(User.first, Image.first).just_viewed!
После сохранения @view я бегу в
NameError (uninitialized constant Media):