Ruby on rails 作为树与祖先宝石的树菜单

Ruby on rails 作为树与祖先宝石的树菜单,ruby-on-rails,gem,acts-as-tree,Ruby On Rails,Gem,Acts As Tree,我想在我正在开发的Rails应用程序中实现一个树菜单()。我不确定是否使用acts_作为_树或祖先。似乎使用acts_as_树来实现一个简单的树菜单会更容易,但是,祖先更受欢迎,并且定期维护。有人对此有什么想法吗?使用祖先。它在实现时具有更强大的查询功能,而不是作为树来实现。 还有其他选项,如嵌套集,但物化路径通常是最全面的 如果需要在DB级别按预排序(例如分页树网格、根据树中显示的深度迭代和缩进/删除的预加载菜单),则需要使用递归查询或可排序编码,如嵌套集或嵌套间隔。(如果在内存中排序不是一

我想在我正在开发的Rails应用程序中实现一个树菜单()。我不确定是否使用acts_作为_树或祖先。似乎使用acts_as_树来实现一个简单的树菜单会更容易,但是,祖先更受欢迎,并且定期维护。有人对此有什么想法吗?

使用祖先。它在实现时具有更强大的查询功能,而不是作为树来实现。
还有其他选项,如嵌套集,但物化路径通常是最全面的

如果需要在DB级别按预排序(例如分页树网格、根据树中显示的深度迭代和缩进/删除的预加载菜单),则需要使用递归查询或可排序编码,如嵌套集或嵌套间隔。(如果在内存中排序不是一个选项,而且几乎从来都不是。)



每个人都有起伏。选择适合自己的产品。

为什么使用acts_as__树会更简单?我建议您使用祖先,因为模型上只有一个db字段。你可能对这个@mark感兴趣,你是对的。然而,我试图遵循您提到的railscast,但我遇到了问题,可能不得不为此问另一个问题,但请尝试bundle exec rake db:migrate@mark感谢您的建议,不幸的是bundle exec rake db:migrate也失败了。我想我可能需要创建的不仅仅是迁移文件和模型文件,我将进一步研究它。谢谢你的建议,我想我已经确定了祖先。现在我只需要弄清楚rake db:migrate失败的原因!我已经阅读了本主题的更多细节: