2011-09-02 14 views
8

Bir çeşit favoriler listesi uygulamak istiyorum. Bu örnek için bir çalma listesi almak Sağlar:Ruby on Rails ile yeniden düzenlenebilir sipariş listesi

Song A 
Song D 
Song B 
Song C 

şarkıların sırası kaydedildi edilmeli ve kullanıcı bu düzenini yeniden ve listede keyfi bir noktada yeni unsurlar eklemek gerekir.

Fikrim, "konum" alanı kullanmak ve liste kaydedildiğinde listenin tüm öğeleri için sıfırlamaktır. Bence Javas Hibernate'in yaptığı şey bu.

Song A 1000 
Song D 2000 
Song B 3000 
Song C 4000 

Şarkı Cı pozisyon numarası 1500 A ve D arasına yerleştirilir:

başka bir fikir büyük bir fark ile pozisyon numaraları kullanmaktır

hala modifikasyon için oda vardır, böylece, 1000 demek

Song A 1000 
Song C 1500 
Song D 2000 
Song B 3000 

Daha iyi bir fikir?

cevap

8

Neden acts_as_list'u kullanmıyorsunuz? Kendi almak isterseniz

+0

acts_as_list bu sorunu sahne arkasında nasıl çözer? – Bijan

+0

acts_as_list çok korkunç bir fwiw. Bunu üretimde kullanamayız. – RandallB

5

, bu soruya cevap yardımcı olabilir: konsensüs sadece onları kurtaracaktır üzerinde bir sipariş alan ve yeniden sipariş kullanmaktır gibi

Best way to save a ordered List to the Database while keeping the ordering

görünüyor. Kullanıcının etkileşimli olarak istemci tarafında yeniden düzenleme yapmasına izin verirseniz veritabanı çalışmasının miktarını azaltabilir ve sunucuya geri yüklemek için son listeyi gönderebilirsiniz.