Ruby on rails 使用Rails 4的递归SQL(建模)
我读了一篇教程,但没有完全理解。我将在这里引用它,并提出寻求解决的问题 我的问题是: 我正在做一个论坛,可以有各种类别和子类别。然后决定使用SQL递归PostgreSQL来方便我,而不是用不必要的表污染我的数据库。 假设我有一个表categories,它有categories\u id字段。然后,模型将如下所示:Ruby on rails 使用Rails 4的递归SQL(建模),ruby-on-rails,ruby,postgresql,ruby-on-rails-4,recursion,Ruby On Rails,Ruby,Postgresql,Ruby On Rails 4,Recursion,我读了一篇教程,但没有完全理解。我将在这里引用它,并提出寻求解决的问题 我的问题是: 我正在做一个论坛,可以有各种类别和子类别。然后决定使用SQL递归PostgreSQL来方便我,而不是用不必要的表污染我的数据库。 假设我有一个表categories,它有categories\u id字段。然后,模型将如下所示: attr_accessible :parent belongs_to :parent, :class_name => "Category" has_many :ch
attr_accessible :parent
belongs_to :parent, :class_name => "Category"
has_many :children, :class_name => "Category", :foreign_key => 'categories_id'
scope :top_level, where(:categories_id => nil)
我不完全理解父项和子项是否是表中的字段。
为什么他必须创建一个属性:parent?
为什么要创建范围?
父id是一个字段。没有适合孩子们的田地。
因此,父对象id是可分配的。
获取更可读的代码。这个
@articles = Article.top_level
看起来比一个模糊不清的人更清楚
@articles = Article.where(parent_id: nil)
我想你对家长id/类别id有些困惑,后者不在教程中。