4

我完全是 Ruby/Rails/AR 菜鸟。我有一种非常基本的数据库模式,我似乎无法找出在 Rails 方式中表示的最佳方式。

Table     Post
String    title, author
Text      content
Timestamp posted
Post      parent

这里的想法是顶级帖子的父级将为NULL。每个响应都会有一个父级,这样它们就形成了自然线程。

标题,作者,内容和发布我没有问题,但父位让我绊倒。任何帮助、提示或建议都会很棒!

4

2 回答 2

9

您的Post模型应在顶部附近声明:

belongs_to :parent, :class_name => 'Post'

然后,使用迁移更新您的posts表,以便每一行都可以跟踪其父行:

add_column :posts, :parent_id, :integer

现在,当您有一个Post名为 的对象时@post,您可以使用@post.parent.

于 2009-09-27T21:49:14.110 回答
1

看看这个act_as_tree插件,它提供了一堆为你管理关系的方法。Railscasts 有一个基于树的导航的截屏视频,值得一看。

于 2009-09-28T07:35:07.817 回答