我想換我圍繞如何建立這個模式與多態關聯頭: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)。我必須根據我擁有的文檔類型來呈現單獨的部分嗎?
恐怕後者與我的第一個問題有關係,並且我正在做一些非常錯誤的事情。
感謝