Rails 3 / SQL:有序分层(嵌套)数据的数据库模式

时间:2011-03-11 00:13:39

标签: sql ruby-on-rails ruby-on-rails-3 schema

我正在尝试使用Rails 3将有序数据存储在数据库中,在这种情况下是一个代表视频部分的目录:

Section 1, 01:23
   Section 1.1, 01:24
   Section 1.2, 02:33

Section 2, 02:23
   Section 2.1, 01:23
       Section 2.1.1, 01:50
   Section 2.2, , 01:55

我打算像这样接近数据库模式:

section_id:int
parent_section:int (using a has_one relationship)
order:int (e.g. section 2.1 would be 0, section 2.2 would be 1 etc.)
video_id:int (links to a video)
length:int (length of this section of video)

两个问题: 1.这是我可以用来解决问题的最佳模式吗? 2. Rails 3是否有内置的处理这些数据的方法?

1 个答案:

答案 0 :(得分:1)

这不是一个很好的答案,因为我没有评估这些宝石用于rails 3,但是..

我在Rails 2中处理这种类型数据的两种方法是acts_as_tree和acts_as_nested_set(和awesome_nested_set)。看起来人们对这些问题的看法不尽相同。

快速谷歌搜索为Rails 3产生了NestedSet宝石。您可能想要评估它以确定它是否符合您的需求。 https://github.com/skyeagle/nested_set

相关问题