У меня есть сценарий, когда у меня есть модель страницы, каждая страница может быть типа 1. Предположим, что страница может быть типа видео или изображений и многих других типов. Поскольку у видео и изображения есть свои собственные модели, я хочу сделать эту страницу полиморфной. Возможно ли это в рельсах?Ассоциация полиморфизмов для нескольких моделей
class Page < ActiveRecord::Base
belongs_to :pageable, :polymorphic => true
end
class Video < ActiveRecord::Base
has_one :page, :as => :pageable, :class_name => 'Video'
end
class Image < ActiveRecord::Base
has_one :page, :as => :pageable, :class_name => 'Image'
end
Действительно ли это? Мое требование состоит в том, что во время создания страницы необходимо выбрать один из типов, а затем выбрать его вперед для видео или формы изображения.
спасибо Swanand, но в моем сценарии страница принадлежит видео или изображению, в основном в полиморфной ассоциации полиморфный объект принадлежит другим, например, Post или Article имеет комментарии, в этом случае комментарий является полиморфным. Мой выше фрагмент также предполагает, что страница принадлежит изображениям или видео, но по-другому. Я просто хочу спросить, что приведенный выше фрагмент будет работать для моего сценария или нет? «Если это не будет, то какие изменения мне нужно сделать для этого. –