Я использую Neo4j.rb в своем приложении для рельсов. У меня проблемы с полиморфизмом.
У меня есть что-то вроде этого. У меня есть класс Users, который выглядит так:
class User
include Neo4j::ActiveNode
#other properties
has_many: out, :social_media_content, model_class: :SocialMediaContent
end
У меня есть класс SocialMediaContent
class SocialMediaContent
include Neo4j::ActiveNode # Is it necessary?
property :first_name, type: Integer
property :first_name, type: Integer
end
Я хочу иметь класс изображения и класс видео, которые наследуются от контента социальных сетей.
Означает ли это, что при создании отношений между SocialMediaContent и пользователем я могу предоставить изображение или видеообъект вместо SocialMediaContent. Как это происходит в базе данных, нужно ли мне также иметь узел для изображения или это может быть обычный предмет.
i.e
class Image < SocialMediaContent
include Neo4j::ActiveNode #Do i have to do this?
Я хочу такого поведения: у каждого пользователя есть много SocialMediaContent, который может быть либо изображением, либо видео (на данный момент), я не хочу сейчас указывать, какой из них является изображением, а какой видео.
Может ли кто-нибудь предложить, как я могу добиться этого? И, наконец, могу ли я хранить массив SocialMediaContent вместо ассоциаций has_many (что лучше?)