ruby on rails - القضبان 3 ترقيم الصفحات ، will_paginate مقابل Kaminari




ruby-on-rails ruby-on-rails-3 (4)

الإعداد الخاص بي: Rails 3.0.9، Ruby 1.9.2

أنا أبحث في حل ترقيم الصفحات will_paginate ورأيت أن هناك جوهرة جديدة من Kaminari مقارنة بـ will_paginate . يبدو أنه لم يتم تحديث will_paginate لفترة من الوقت ولكن منذ ذلك الحين عاد مع V3.0. ما هو الإجماع ، هو المفضل على الآخر ولماذا؟ شكرا مقدما على رؤيتك.

تصحيح

سألت ريان بيتس على تويتر ، وقال

كلاهما يقوم بالعمل بنفس القدر. يتمثل العامل الأكبر في استخدامك لأية جواهر تتطلب ترقيم الصفحات لأنها غير متوافقة. أتعامل مع نهج غير المحركات لـ will_paginate أكثر قليلاً ، ولكن هذا تفضيل شخصي.


أنا حقا أحب كاميناري. لا أعرف ما إذا كان will_paginate سيفعل ذلك ، لكن Kaminari أيضًا يمكن أن يرقم أي Array قديمة منتظمة:

Kaminari.paginate_array(an_array).page params[:page]

هناك Railscasts لكليهما ، وأنا أوصي بالمشاهدة.


صخور Kaminari إذا كنت تستخدم القضبان 3+ ، أود أن استخدمه لأنه

  1. هو أحدث مكتبة ويدعم سكك 3+ بقوة.
  2. "Kaminari" هو سهل الاستخدام ويدعم ajax بسهولة جدا.
  3. Paginate pure Object way.
  4. وهو يعمل كوكيل على AREL ، لا توجد طريقة paginate محددة فوق طاقتها على ActiveRecord
  5. لا تلوث كائن صفيف أو التجزئة
  6. مزيد من دعم القضبان القياسية لتنسيقات العرض الأخرى ، والأكثر أهمية المحمول

    User.page(7).per(50)
    

    ولكن إذا كنت تستخدم القضبان 2.3 وما إلى ذلك حافظ على عصا مع will_paginate التي تعمل أيضا مع القضبان 3 + ، ولكن داخليا ليست مثالية مثل رمز Kaminari.


لقد استخدمت كل من الأحجار الكريمة ، وبصراحة ، أنا أحب Kaminari أفضل. إنه سهل الاستخدام. لم أر أي مشاكل في الأداء أو مشاكل في البيئة (يعيش التطبيق على Heroku).


مشاهدة kaminari railscast ثم مشاهدة سيكون pails فاتن

ينصح رايان بيتس في تعليقاته بأن كاميناري يجعل الاستخدام الأكثر قسوة للجزئيات ، مما قد يجعله أبطأ من ذلك ، ولكن ليس كثيرًا







pagination