У меня есть сценарий, в котором мне нужно сложное полиморфное отношение, и мне нужна помощь в этом.
У меня есть модель «Документ», которую можно присоединить к любой модели, например, «Сотрудник», «Пользователь».и т. д.
Я разрабатываю плагин для прикрепления различных документов
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
Может кто-нибудь иметь представление о том, как я могу установить отношение документа к различным моделям типов.Будем искать ваши отзывы.