我想在我正在开发的Rails应用程序中实现一个树菜单(simple example of tree menu)。我不确定是使用acts_as_tree还是祖先。似乎使用acts_as_tree实现一个简单的树形菜单会更容易,然而,祖先更受欢迎,并且经常维护。有人对此有什么想法吗?
发布于 2012-01-12 22:15:25
使用祖先。与实现adjacency list的acts_as_tree相比,它在实现materialized path pattern时具有更强大的查询功能。
也有其他选项,比如嵌套集,但物化路径通常是最全面的。
https://communities.bmc.com/communities/docs/DOC-9902
如果您需要在DB级别按预定顺序进行排序(例如,分页的树形网格,您迭代的预加载菜单,并根据树中的深度进行缩进/缩进以显示),则需要使用递归查询或可排序编码,如嵌套集或嵌套间隔。(如果在内存中进行排序不是一个选项,而且几乎从来都不是。)
https://github.com/collectiveidea/awesome_nested_set
https://github.com/clyfe/acts_as_nested_interval
每一个都有起伏。选择适合你的。
https://stackoverflow.com/questions/8835178
复制相似问题