在Rails 2.3.5项目中,我在模型中找到了这行代码:
class Foo
has_many :segments, :class_name => 'FooSegment', :order => 'position ASC'
end
FooSegment的基础表具有整数属性位置。正如人们可能猜到的那样,属于Foo的许多FooSegments都有1,2,3 ...... ......
那么我可以假设ActiveRecord总是在幕后更新这个位置属性吗?特别是:拥有id = 11的Foo,具有5个FooSegments。假设它们总是有1,2,3,4,5位并且如果FooSegment被更新则保持这个顺序,是否可以保存?
谢谢,菲利普
答案 0 :(得分:1)
不,这不是AR内置的功能。但是,该项目可能正在使用acts_as_list gem或类似的东西来提供此功能。默认情况下,它使用名为position
的列,然后在其他记录更改时使其保持最新。