所以,我有兩個型號:如何判斷模型是否嵌入在Mongoid中?
#app/models/rate.rb
class Rate
include Mongoid::Document
embeds_many :tiers
field :name
# other fields...
end
#app/models/tier.rb
class Tier
include Mongoid::Document
embedded_in :rate
field :name
# other fields...
end
現在根據mongoid文檔,我可以做以下找出一個模式是否被嵌入另一種模式:
rate.tiers.embedded?
=> true
Tier.reflect_on_association(:rate).macro
=> :embedded_in
但對於這兩種方法我需要知道層級嵌入費率。有沒有一種方法可以確定層級是否爲嵌入模型,然後在事先不知道與層級關係的情況下找出嵌入的模型?
我很喜歡這種方法,它比我建議的方式更穩健,謝謝! – alalani
我在看'M.associations',但似乎不贊成,然後該方法的來源導致我'M.relations'這似乎沒有記錄。 'reflect_on_all_associations'至少有文件記錄。 –
哦,很酷,是的,我發現文檔非常有限,所以我通過調用M.methods做了自己的窺探,然後通過我認爲可能有用的方法 – alalani