【发布时间】:2011-02-12 05:56:45
【问题描述】:
大家好, 我有一个多态关联,目前正在与几个不同的模型一起使用。每个模型都有与之关联的自己的视频文件,因此它使用“可视频”多态关联。然而,我最近发现需要创建一个具有 2 种不同类型视频的新模型。我会让代码说话。
#current setup
class Video < ActiveRecord::Base
belongs_to :videoable, :polymorphic => true
end
class Project < ActiveRecord::Base
has_one :video, :as => videoable
end
# New model I am working on
class Assignment < ActiveRecord::Base
has_one :video_draft
has_one :video_final
end
理想情况下,分配模型将具有两种特殊类型的视频对象,同时仍使用多态关联。我考虑过单表继承,但我不确定这是最好的方法。我有哪些选择?我不想创建一个 video_draft 模型和一个 video_final 模型,因为最后它们只是像其他所有东西一样的视频附件。唯一的区别是它们是专门的视频附件,需要自己独特的参考。
【问题讨论】:
标签: ruby polymorphic-associations unique-constraint