就像这个样子,类似 Reddit 回复模式
大家觉得相比目前的模式,更喜欢那种?
评论嵌套太多层的话就像网易评论里面盖楼一样,不怎么好看了
@huacnlee ,可以帮我看下 http://ruby-china.org/topics/9317 这个帖子里面我部署时遇到的问题吗,谢谢
有种算法叫做 Nested Set
ActiveRecord 有现成的 Gem 很靠谱 https://github.com/collectiveidea/awesome_nested_set Mongoid 也有一个模拟类似的 https://github.com/thinkwell/mongoid_nested_set
存入的时候,用那种算法存储 lft, rgt, depth, parent_id
想排成那样,直接 order by lft desc
,然后根据 depth 的数字通过 CSS 来缩进
#7 楼 @huacnlee recursive cte 才是正解来着,disqus 都用了好几年了,应该不存在明显性能问题。MPTT 浪费存储空间还只能有一种排序方式,坑爹着呢...支持多种排序就可以自己选排序方式,比强制顺序或者树形略不坑爹一点
http://justcramer.com/2010/05/30/scaling-threaded-comments-on-django-at-disqus/
其实回复很少情况下是对整个线索(也就是一条回复树)的回复,大多数人的回复只和被引用帖有直接相关。嵌套评论的坏处包括:1)层层缩进视觉上很不舒服,2)容易形成回复的马太效应,3)回复者和阅读者的吸引力很容易被前面不相关的缩进干扰,etc……
我觉得应该拿这篇帖子来做个实验看看效果如何(选择这篇的原因是,里面回复的内容有大段的文字
我自己的使用习惯是这样:我会频繁的刷社区首页,如果帖子的回复的 counter 有变化,我就会点进去看最后一条或者最后几条回复的内容,因为这里是个小社区,所以超过一半的讨论话题我都感兴趣,都会不停的点进去看,如果改成 Nested 的方式,如何去定位最后一条或者最后几条回复?