2011-09-05 35 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