2011-03-11 15 views
0

我想存储数据库架构下令数据库中的数据支持了Rails 3,在这种情况下,表的内容表示视频的部分:的Rails 3/SQL:有序分层(嵌套)数据

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

这是不是一个伟大的答案,因为我还没有评估这些宝石与轨道3使用,但..

处理这种类型的数据,从梁2我知道这两种方法是acts_as_tree和acts_as_nested_set (和awesome_nested_set)。看起来人们在rails3上得到了不同的结果。

快速谷歌搜索产生了Rails 3的NestedSet gem。您可能需要评估它是否适合您的需求。 https://github.com/skyeagle/nested_set

+0

该嵌套集宝石做了诡计,只有一个我发现它适用于Rails 3 – bcoughlan 2011-03-15 22:05:50