我有一个在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;。])