closure_tree祖先以相反的顺序给予祖先

时间:2016-03-18 16:56:01

标签: ruby-on-rails acts-as-tree

我有一个在Post模型上使用closure_tree的rails(4.2.3)应用程序

class Post < ActiveRecord::Base
  has_closure_tree dependent: :destroy
end

closure_tree gem documentation声明:

  

tag.ancestors[ parent, grandparent, great grandparent, … ]的有序范围。

我有一个嵌套的帖子链(从根到叶) - &#39;游戏&#39;,&#39;演练&#39;,&#39;教程&#39;

> tutorial_post.depth #=> 2
> [tutorial_post.parent.name, tutorial_post.parent.depth] #=> ["Walkthrough", 1]
> [tutorial_post.parent.parent.name, tutorial_post.parent.parent.depth] #=> ["Game", 0]

但是当我查询帖子的祖先时,我会以相反的顺序获取祖先(root到leaf,而不是预期的leaf to root)。

> tutorial_post.ancestors.map(&:name) #=> ["Game", "Walkthrough"]

我几乎可以肯定我过去曾使用祖先方法,并且它们确实以正确的顺序出现(在这种情况下,预期的结果是[&#34;演练&#34;,&#34;游戏& #34;。])

0 个答案:

没有答案