您好 我正在实现一个嵌套帖子线程的论坛(reddit样式) 线程和评论可以投票。 线程可以被标记 线程有标题,评论没有 我的观点通常只需要生成整个评论树的3个级别的子集。
我想知道我是否应该为线程创建一个单独的表模型,或者只使用表,其中root = 0,如果它是一个线程记录
在后一个选项中,我正在考虑创建一个代表线程的tabless模型(id将是根注释的id
实施它的最简单方法是什么?
编辑:
这就是我正在考虑的第二种选择。线程和帖子应该有什么关系?应该是一个资源吗?
class Thread
include ActiveModel::Validations
attr_accessor :root_post_id, :depth
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :post
#belongs_to :thread ?????
acts_as_tree
acts_as_taggable_on :topics
end
答案 0 :(得分:0)
实现的一种方法是在同一个表中同时包含线程和回复。
ID | THREADID
可以自动生成ID字段。 THREADID字段获取线程的ID,它始终是线程中的第一个帖子,所有其他答复将继承相同的ID。
因此,根帖是ID == THREAD,而回复是ID!= THREADID。