我有一个场景,我需要一个复杂的多态关系,并需要帮助。
我有一个模型“文档”,可以附加到任何模型,如“员工”,“用户”等。
我正在开发一个附加不同文档的插件
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
任何人都可以知道如何将文档与不同类型的模型建立关系。将寻找您的反馈。
答案 0 :(得分:0)
看起来您正在使用单表继承创建多态关系。我搜索了一下这个并没有提出太多解决方案,这让我想知道是否有更好的方法。我之前没有这样做,所以我无法确切地说。我发现的一个例子看起来很简单。 http://www.mendable.com/2010/03/30/polymorphic-single-table-inheritance-sti.html