2011-09-02 15 views
8

मैं एक प्रकार की पसंदीदा सूची को कार्यान्वित करना चाहता हूं। चलो इस उदाहरण के लिए एक खेल सूची ले:रूबी पर रूबी के साथ पुन: व्यवस्थित आदेश सूची

Song A 
Song D 
Song B 
Song C 

गाने के आदेश बचाया जाना चाहिए और उपयोगकर्ता इस क्रम को पुनर्व्यवस्थित और सूची में एक मनमाना बिंदु पर नए तत्वों को सम्मिलित करने के लिए सक्षम होना चाहिए।

मेरा विचार फ़ील्ड "स्थिति" का उपयोग करना है और सूची सहेजने पर सूची के सभी तत्वों के लिए इसे रीसेट करना है। मुझे लगता है कि जावा हैबर्नेट यही करता है।

एक और विचार एक बड़ा अंतर के साथ स्थिति नंबरों का उपयोग करने के लिए है, 1000 का कहना है, ताकि वहाँ अभी भी संशोधन की गुंजाइश है:

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

गाने के सी स्थिति संख्या 1500 से ए और डी के बीच डाला जाएगा:

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

कोई बेहतर विचार?

उत्तर

8

acts_as_list का उपयोग क्यों नहीं करते?

+0

act_as_list दृश्यों के पीछे इस समस्या को कैसे हल करता है? – Bijan

+0

act_as_list बहुत भयानक fwiw है। हम वास्तव में उत्पादन में इसका उपयोग नहीं कर सकते हैं। – RandallB

5

आप अपने खुद के रोल करना चाहते हैं, इस सवाल का जवाब उपयोगी हो सकता है:

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

लगता है आम सहमति की तरह सिर्फ उन सब को बचाने के एक आदेश क्षेत्र और फिर से आदेश का प्रयोग है। यदि आप उपयोगकर्ता को रीडरिंग इंटरैक्टिव क्लाइंट साइड करने की अनुमति देते हैं, तो आप डेटाबेस कार्य की मात्रा को कम कर सकते हैं, और सर्वर पर वापस सहेजने के लिए केवल अंतिम सूची भेज सकते हैं।

संबंधित मुद्दे