2011-01-11 7 views
2

私はmongoid-treeを使用していますが、この質問はおそらく他のacts_as_tree ports for Mongoidにも当てはまります。モンゴイドツリーを別の文書に埋め込む方法は?

私はノードのツリーが欲しいですし、私はツリー全体を別のドキュメントに埋めたいと思っています。私の問題は、これは本当にルートノードを埋め込む必要があるだけですが、すべてのノードに同じ埋め込み_があることです。私の場合:

ツリーごとに1つのレコードのみがコンテナに埋め込まれるように設定するにはどうすればよいですか?他にも良い方法がありますか?

答えて

0

mongoid-treeの著者benediktがGitHubで回答しました。

現在、Mongoid :: Treeは埋め込みノードでは機能しません。彼は提案します:

class Container 
    include Mongoid::Document 

    referenced_in :node, :inverse_of => :container 
end 

class Node 
    include Mongoid::Document 
    include Mongoid::Tree 

    references_one :container 
end 

この方法で、任意のノードをコンテナに割り当てることができます。また、Node.containerメソッドを上書きして子ノード用のroot.containerを呼び出すことで、サブノード用のコンテナも取得できます。