ActiveRecord - 自引用关联

Dre*_*rew 4 null schema activerecord ruby-on-rails one-to-many

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

Table     Post
String    title, author
Text      content
Timestamp posted
Post      parent
Run Code Online (Sandbox Code Playgroud)

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

标题,作者,内容和发布我没有遇到问题但是父母的位置让我感到沮丧.任何帮助,提示或建议都会很棒!

Ron*_*era 8

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

belongs_to :parent, :class_name => 'Post'
Run Code Online (Sandbox Code Playgroud)

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

add_column :posts, :parent_id, :integer
Run Code Online (Sandbox Code Playgroud)

现在,当您有一个Post被调用的对象时@post,您可以使用它来引用它的父对象@post.parent.