2011-09-05 29 views
0

在Rails 2.3.5项目我发现在模型这行代码:has_many:段的含义,:order =>'position ASC'?

class Foo 
    has_many :segments, :class_name => 'FooSegment', :order => 'position ASC' 
end 

FooSegment的基础表具有整数属性的位置。正如人们所猜测的,许多属于Foo的FooSegments有位置1,2,3 ......

所以我可以假设ActiveRecord总是在幕后更新这个位置属性?特别是:有一个Foo id = 11,有5个FooSegments。假设他们总是有位置1,2,3,4,5,并且如果FooSegment被更新时保持这个顺序,那么保存是否存在?

谢谢菲利普

回答

1

不,这不是AR内置的功能。但是,该项目可能会使用acts_as_list gem或类似的东西来提供此功能。默认情况下,它使用名为position的列,然后在其他记录更改时使其保持最新。

+0

是的,它使用了acts_as_list gem ... – user694971