Ruby on rails 3 带mongoid的嵌套类别

Ruby on rails 3 带mongoid的嵌套类别,ruby-on-rails-3,mongoid,Ruby On Rails 3,Mongoid,我有一个带有一些条目的mongoid模型,我想把它们分类。类别应该有一个如下嵌套的选项: Videos: -Car video -Gadgets Video --iPad --Android Music: -Pop --Madonna -Rap --2pac --50cent 如何使用mongoid?类别的顺序无关紧要。您可以使用: 已更新 有不同的模式充当嵌套的集合是DRTW(不要重新发明轮子)解决方案,但其他解决方案可能更适合您。您可以使用: 已更新 有不同的模式充当嵌套的集合是DRT

我有一个带有一些条目的mongoid模型,我想把它们分类。类别应该有一个如下嵌套的选项:

Videos:
-Car video
-Gadgets Video
--iPad
--Android
Music:
-Pop
--Madonna
-Rap
--2pac
--50cent
如何使用mongoid?类别的顺序无关紧要。

您可以使用:


已更新

有不同的模式
充当嵌套的集合是DRTW(不要重新发明轮子)解决方案,但其他解决方案可能更适合您。

您可以使用:


已更新


有不同的模式
充当嵌套的集合
是DRTW(不要重新发明轮子)解决方案,但其他解决方案可能更适合您。

我实现了带有“”的嵌套类别模型。这很直截了当

root = Category.new { :name => "Root Category" }
child = Category.new { :name => "Child Category" }
childs_child = Category.new { :name => "Child Child Category" }

root.children << child
root.save
child.children << childs_child
child.save

# get all root categories
Category.where("parent_ids" => []).first
 => "#<Category _id: 4d63cbdf2507e40d03000018, child_ids: [BSON::ObjectId('4d63cbdf2507e40d03000019')], parent_ids: [], name: \"Root Category\">" 
root=Category.new{:name=>“root-Category”}
child=Category.new{:name=>“child-Category”}
childs_child=Category.new{:name=>“child-child-Category”}
root.children“#”

Julian

我实现了一个带有“”的嵌套类别模型。这很直截了当

root = Category.new { :name => "Root Category" }
child = Category.new { :name => "Child Category" }
childs_child = Category.new { :name => "Child Child Category" }

root.children << child
root.save
child.children << childs_child
child.save

# get all root categories
Category.where("parent_ids" => []).first
 => "#<Category _id: 4d63cbdf2507e40d03000018, child_ids: [BSON::ObjectId('4d63cbdf2507e40d03000019')], parent_ids: [], name: \"Root Category\">" 
root=Category.new{:name=>“root-Category”}
child=Category.new{:name=>“child-Category”}
childs_child=Category.new{:name=>“child-child-Category”}
root.children“#”

Julian

对于mongoid嵌套集,正确的链接是:


真不错。作为嵌套使用较少的查询。

对于mongoid嵌套集,正确的链接是:


真不错。作为嵌套使用较少的查询。

此gem支持节点位置功能,如(其他节点)的
move\u-left\u、
move\u-right\u of(其他节点)
move\u-child\u of(其他节点)`。。。我是没有必要的,我想找到一个吻的方式解决。不管怎样,谢谢:)对不起,我没有明白这个方法到底有什么问题。即使是最简单的
也可以作为_树
为您提供
move_xx
方法。你可以用也可以不用,这完全取决于你自己。铁轨呢?它有很多你不用的方法。Rails不是制作网络应用的“接吻方式”吗?:)现在只有最好的宝石可以移植给Mongoid了。AwesomeNestedSet就是其中之一。顺便说一句,如果你找到另一个解决方案,请在这里发布:)此gem支持节点位置功能,如(其他节点)的
move\u-left\u、
move\u-right\u of(其他节点)
move\u-to\u-child\u of(其他节点)`。。。我是没有必要的,我想找到一个吻的方式解决。不管怎样,谢谢:)对不起,我没有明白这个方法到底有什么问题。即使是最简单的
也可以作为_树
为您提供
move_xx
方法。你可以用也可以不用,这完全取决于你自己。铁轨呢?它有很多你不用的方法。Rails不是制作网络应用的“接吻方式”吗?:)现在只有最好的宝石可以移植给Mongoid了。AwesomeNestedSet就是其中之一。顺便说一句,如果您找到其他解决方案,请将其发布在此处:)