在一个Rails 2.3.5项目中,我在一个模型中发现了这行代码:
class Foo
has_many :segments, :class_name => 'FooSegment', :order => 'position ASC'
endFooSegment的底层表有一个整数属性position。正如人们可能猜测的那样,属于Foo的许多FooSegments具有位置1、2、3……
所以我可以假设ActiveRecord总是在幕后更新这个position属性吗?特别是:与id=11有一个Foo,有5个FooSegments。假设它们总是有位置1,2,3,4,5,并在FooSegment更新时保持这个顺序,是否可以节省时间?
谢谢,菲利普
发布于 2011-09-06 05:39:35
不,这不是AR内置的功能。但是,该项目可能使用acts_as_list gem或类似的东西来提供此功能。默认情况下,它使用一个名为position的列,然后在其他记录发生更改时使其保持最新。
https://stackoverflow.com/questions/7312785
复制相似问题