私は複雑な多形関係が必要なシナリオを持っており、その中に助けが必要です。複合多形関係
私は「従業員」のような、任意のモデルに取り付けることができるAAモデル「文書」を、持っている、「ユーザー」など
は、私は別の文書
class Employee < ActiveRecord::Base
attach_documents_as :general_documents
attach_documents_as :meeting_documents
end
を添付するプラグインを開発しています私はこの点まで成功しました。しかし、より多くのものを得るためには、ドキュメントにいくつかの型を割り当てる必要があります。そのために、私はそのようなメインモデルでドキュメント型のモデル名を提供します。
ここclass Employee < ActiveRecord::Base
attach_documents_as :general_documents, :general_doc_types
attach_documents_as :meeting_documents, :meeting_doc_types
attach_documents_as :job_record, :misc_doc_types
end
:general_doc_types , :meeting_doc_types, :misc_doc_types
すべてのモデル名です。
私はこの
class Document < ActiveRecord::Base
attr_accessible :title, :description, :attachment
belongs_to :attachable, :polymorphic => true
has_attached_file :attachment
end
などの文書モデルはいずれかがどのように私は種類の異なるモデルへの文書の関係を作ることができるという考えを持つことができています。あなたのご意見をお待ちしております。
ジェネレータやユーザ自身が 'general_doc_types'などのモデルを生成しますか?それが前者の場合、実際の関係が単純な 'has_many'と' belongs_to'になるという魔法をいくつか考えてみましたか? – PeterWong