如何解决如何使用树层次结构类别来处理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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。