获取属于关联的树的哈希树

时间:2016-11-16 13:01:49

标签: ruby-on-rails

即使我认为这是一个相当普遍的问题,我也无法找到回答这个问题的单一资源。

我有一个Comment模型,可以与Resource关联或拥有父级,这是另一个评论。从而允许嵌套注释。根评论始终与Resource相关联。

我现在想要实现的是获取与Resource关联的注释的哈希树,以便我可以有效地获取根注释,以及嵌套在根注释中的所有注释

我对树结构很新,但我相信我现在做的不是有效(性能明智),也不是使用树结构的正确方法。

resources_controller.rb

def show
 @comments = @resource.comments.includes(:children)
end

资源/ show.html.erb

<%= comments_tree_for @comments %>

comments_helper.rb

def comments_tree_for(comments)
  comments.map do |comment|
    render(comment) +
      (comment.children.size > 0 ? content_tag(:div, comments_tree_for(comment.children), class: 'replies') : nil)
  end.join.html_safe
end

但是,如果我在控制台中运行Comment.hash_tree,它将返回树。现在我想要实现的是一种在我当前的结构上实际使用hash_tree的方法。

相关文章:https://www.sitepoint.com/nested-comments-rails/

0 个答案:

没有答案