Ruby on rails 如果第一级是sort desc,第二级是sort asc,如何进行嵌套注释?
我正在使用rails和awesome_嵌套集创建嵌套注释(艺术家有许多sketchbook注释)。我想有第1级是排序描述的时间戳,这样我们就可以看到最新的评论在顶部,上面的折叠。我希望评论的评论按ASC时间戳的时间顺序排列,这样我们就可以按照创建对话的顺序进行跟踪。像堆栈溢出一样,我计划现在只进行1级嵌套Ruby on rails 如果第一级是sort desc,第二级是sort asc,如何进行嵌套注释?,ruby-on-rails,comments,nested,Ruby On Rails,Comments,Nested,我正在使用rails和awesome_嵌套集创建嵌套注释(艺术家有许多sketchbook注释)。我想有第1级是排序描述的时间戳,这样我们就可以看到最新的评论在顶部,上面的折叠。我希望评论的评论按ASC时间戳的时间顺序排列,这样我们就可以按照创建对话的顺序进行跟踪。像堆栈溢出一样,我计划现在只进行1级嵌套 #controller def create #create 1st level comment as simple association @sketchbook_comment =
#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调用中获得关联的所有注释:
artist.sketchbook_comments.order("lft ASC")
但似乎所有新的根级别注释都放在树的“末尾”或“右侧”(lft值大于任何以前的节点)。因此,按lft排序注定我只能按时间顺序排列
有什么建议吗?(我知道我可以通过获取所有根节点顺序(“created_at DESC”)来实现这一点,然后在每个级别运行comment.children.order(“lft ASC”),但如果可能的话,我不想多次点击数据库。)我最后添加了一个模型方法,该方法将使用awesome_嵌套集的move_to_left_of(id)以便在插入根级别注释时将新节点定位在左侧