皆さん、こんにちは。現在、いくつかの異なるモデルで使用されているポリモーフィック アソシエーションがあります。各モデルには独自のビデオ ファイルが関連付けられているため、「ビデオ可能」なポリモーフィック アソシエーションが使用されます。しかし最近、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
理想的には、割り当てモデルは、ポリモーフィック アソシエーションを使用しながら、2 つの特別なタイプのビデオ オブジェクトを持ちます。単一テーブルの継承を検討しましたが、これが最善のアプローチかどうかはわかりません。私のオプションは何ですか?私は video_draft モデルと video_final モデルを作成したくありません。結局のところ、これらは他のすべてのビデオの添付ファイルに過ぎないからです。唯一の違いは、独自の参照が必要な特殊なビデオ添付ファイルであることです。