我想换我围绕如何建立这个模式与多态关联头:Rails的多态关联+ fields_for
“文件”有一个元数据对象,但是这可以是“PDFMetaData”或“ TXTMetaData”。
我的担忧是:
要建立此关联,我可以做到这一点
class Document
belongs_to :metadata, :polymorphic => true
end
class PDFMetaData
has_one :document, :as => :metadata
end
class TXTMetaData
has_one :document, :as => :metadata
end
这工作,但那种感觉就像反向对我来说:文档HAS_ONE元数据对象,而不是相反?
此外,我试图为我的新文档创建嵌套表单时遇到问题。我知道我可以使用fields_for,但我怎么知道它是什么样的对象? (PDFMetaData或TXTMetaData)。我必须根据我拥有的文档类型来呈现单独的部分吗?
恐怕后者与我的第一个问题有关系,并且我正在做一些非常错误的事情。
感谢