Полиморфная ассоциация для нескольких моделей - PullRequest
0 голосов
/ 27 января 2012

У меня есть сценарий, где у меня есть модель страницы, теперь каждая страница может быть одного типа.Допустим, страница может быть типа видео или изображений и многих других типов.Поскольку видео и изображение имеют свои собственные модели, я хочу сделать эту страницу полиморфной.Это возможно в рельсах?

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

Это действительно?Мое требование заключается в том, что при создании страницы необходимо выбрать один из типов, а затем при выделении переадресовать его в форму видео или изображения.

1 Ответ

0 голосов
/ 27 января 2012

Это действительно. Это то, для чего предусмотрена полиморфная ассоциация. Вам не нужно ":class_name => 'Video', хотя, вы можете безопасно отбросить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...