Rails ActiveRecord模型链接列表

Dan*_*ter 6 activerecord ruby-on-rails linked-list ruby-on-rails-3

在密集的谷歌搜索后,我现在将陈述一个似乎不经常出现的问题,但仍然是非常基本的.活动记录中的链接列表.就我而言,我们在模型中需要两个关联:

class Child < ActiveRecord::Base
  belongs_to :parent
  belongs_to :next, :class_name => 'Child', :foreign_key => 'next_id'
  belongs_to :previous, :class_name => 'Child', :foreign_key => 'previous_id'
end
Run Code Online (Sandbox Code Playgroud)

所以现在我们可以得到父母的所有孩子:

children = Child.where("parent_id = ?", parent_id)
Run Code Online (Sandbox Code Playgroud)

现在问题是:我当然希望通过一个查询从数据库中获取所有子项,但我也希望以链接顺序查看子项,这意味着第一个将是具有前一属性nil的子项,下一个孩子将是由第一个第一个属性连接的孩子,依此类推,直到下一个属性为零.有可能这样做,还是我需要查询第一个孩子,然后从孩子到孩子而不"预先"?

Ren*_*nan 3

度假村和排名模型宝石其他选择。第一个使用类似于链表的方法。第二个使用位置属性。