如何使用树层次结构(类别)来处理rails3 habtm?

| 我已经看过现有的问题,并且由于变化,我无法找到有关如何使用类别树层次结构处理habtm的好的解决方案。 “可标记行为”表示代码知道上下文,这是我所不希望的。在这个网站和其他网站上已经多次询问了这个问题,但实际上,还没有一个完整的答案。 基本上,我有一组具有单级层次结构的类别: 根类别1 子类别3 子类别4 根类别2 子类别5 子类别6 表单部分比较简单。我列出了所有根类别,然后为每个类别找到子类别。这仅适用于单级层次结构,不适用于我的需求,因为我宁愿拥有无限级(即对嵌套级无所谓的解决方案),但如果添加太多的复杂性就没有必要。 我主要不确定该如何进行。在这一点上,我可以获得相关类别的简单哈希,但是没有层次结构。我见过的嵌套类别解决方案在habtm上下文中不起作用,而是在整个树本身中起作用。     
已邀请:
好的,它并不是那么明显,但是祖先(又名has_ancestry:https://github.com/stefankroes/ancestry)可以很好地解决这一问题。 我的模型中的产品具有与HABTM关系中的类别。类别是具有has_ancestry的层次结构。 一旦获得产品的类别,只需在集合中调用“安排”即可:   @ product.categories.arrange.each | root_cats,sub_cats | 出色地工作。 简而言之,anwer是祖先的宝藏:https://github.com/stefankroes/ancestry。     

要回复问题请先登录注册