首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何做嵌套注释,其中第一级是排序描述,第二级是排序asc?

如何做嵌套注释,其中第一级是排序描述,第二级是排序asc?
EN

Stack Overflow用户
提问于 2011-10-31 06:06:19
回答 1查看 210关注 0票数 0

我使用rails和awesome_nested_set来创建nested_comments (美工有很多sketchbook_comments)。我想有第一个级别是按时间戳排序,这样我们就可以看到最新的评论在顶部,以上的折叠。我希望评论的评论是在ASC时间戳的时间顺序,以便我们可以跟踪对话,在他们创建的顺序。像栈溢出一样,我计划现在只有一个级别的嵌套。

代码语言:javascript
复制
 #controller
def create

 #create 1st level comment as simple association
 @sketchbook_comment = @artist.sketchbook_comments.create(params[:sketchbook_comment])

 #if replying to a comment, only then do we nest
 if parent = @artist.sketchbook_comments.where(:id => params[:parent_id]).first
   @sketchbook_comment.move_to_child_of(parent)
 end

  redirect_to :back
end

我能够在一个DB调用中获得一个关联的所有注释:

代码语言:javascript
复制
artist.sketchbook_comments.order("lft ASC")

但似乎所有新的根级注释都被放在树的“末端”或“右侧”(具有比任何先前节点更大的左值)。因此,按左键排序注定了我在任何地方都只能按时间顺序。

有什么建议吗?(我知道我可以通过获取所有根节点的顺序(“lft”),然后在每个级别上运行comment.children.order("lft ASC")来实现这一点,但如果可能的话,我不喜欢多次访问DB。)

EN

回答 1

Stack Overflow用户

发布于 2011-11-01 06:29:19

最后,我添加了一个模型方法,该方法将使用awesome的move_to_left_of(id),以便在插入根级注释时将新节点定位在左侧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7948210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档