2011-11-18 15 views
41

मेरे सेटअप will_paginate: 3.0.9 रेल, रूबी 1.9.2रेल 3 पृष्ठांकन, बनाम Kaminari

मैं अपने अनुप्रयोग के लिए एक पृष्ठांकन समाधान में देख रहा हूँ और देखा एक नया-ish मणि ​​Kaminari है कि वहाँ तुलना भरोसेमंद will_paginate पर। ऐसा लगता है कि will_paginate थोड़ी देर के लिए अपडेट नहीं किया गया था लेकिन तब से V3.0 के साथ वापस आया है। सर्वसम्मति क्या है, क्या दूसरे को पसंद है और क्यों? आपकी अंतर्दृष्टि के लिए अग्रिम धन्यवाद।

संपादित

मैं ट्विटर पर रयान बेट्स पूछा और उन्होंने कहा कि

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

उत्तर

19

मुझे वास्तव में कामारीरी पसंद है। मैं अगर will_paginate करता है पता नहीं है, लेकिन Kaminari भी किसी भी नियमित वर्ष Array पृष्ठ पर अंक लगाना कर सकते हैं:

दोनों के लिए Railscasts, जो मैं देखने की सलाह देते हैं।

14

घड़ी kaminari railscast एक तो घड़ी will paginate railscast

रयान बेट्स टिप्पणी में सलाह देता है कि Kaminari partials की भारी उपयोग करते हैं, जो यह आंशिक रूप से धीमी कर सकता है बनाता है, लेकिन बहुत

+11

है: 100k + प्रविष्टियों के माध्यम से ब्राउज़ will_paginate व्यर्थ धीमा कर देता है। हालांकि कामिनारी तेजी से रहता है। – thedanielhanke

+7

@ thedanielhanke - क्या आप इसके लिए सबूत/कारण बता सकते हैं? – Yarin

27

Kaminari चट्टानों तुम नहीं प्रयोग कर रहे हैं रेल 3+, मुझे इसका उपयोग करना पसंद है क्योंकि

  1. यह नवीनतम लाइब्रेरी है और रेलवे 3+ शक्तियों का समर्थन करता है।
  2. 'कामिनरी' उपयोग करना आसान है और यह ajax का समर्थन करता है।
  3. अंकन शुद्ध ऑब्जेक्ट रास्ता।
  4. यह AREL पर एक प्रॉक्सी के रूप में काम करता है, कोई विशेष पृष्ठ पर अंक लगाना विधि ActiveRecord पर अतिभारित
  5. सरणी या हैश वस्तु
  6. अधिक मानक रेल अन्य दृश्य स्वरूप, के लिए समर्थन को दूषित नहीं करता सबसे महत्वपूर्ण मोबाइल

    User.page(7).per(50) 
    

    लेकिन यदि आप रेल 2.3 का उपयोग कर रहे हैं तो will_paginate के साथ चिपके रहें जो रेल 3 + के साथ भी काम करता है, लेकिन आंतरिक रूप से यह कामरीरी कोड के रूप में ऐसा नहीं है।

1

मैंने दोनों रत्नों का उपयोग किया है, और स्पष्ट रूप से, मुझे कामरीरी बेहतर पसंद है। इसका उपयोग करना इतना आसान है। मैंने किसी भी प्रदर्शन के मुद्दों या पर्यावरण के मुद्दों को नहीं देखा है (मेरा ऐप हरोकू पर रहता है)।

1

जबकि will_paginate नौकरी बहुत तेज़ी से करता है, कामारीरी आपको पेजिंग एचटीएमएल आउटपुट को जल्दी से संपादित करने की अनुमति देता है।

यह मेरे लिए एक बड़ी बात थी, क्योंकि मैं बूटस्ट्रैप 3 का उपयोग कर रहा हूं, और डिफ़ॉल्ट पेजिनेशन शैलियों का उपयोग करना चाहता था।

है कि आप भी ऐसा ही करने के लिए अनुमति देता will_paginate के लिए एक रत्न है, लेकिन Kaminari यह प्रदर्शन के बारे में भी बहुत कुछ flixible

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