Подтвердить что ты не робот

Rails 3 разбиение на страницы, will_paginate против Kaminari

Моя настройка: Rails 3.0.9, Ruby 1.9.2

Я просматриваю приложение для разбивки на страницы для своего приложения и вижу, что есть новый-жемчуг Kaminari по сравнению с надежным will_paginate. Похоже, что will_paginate не обновлялся некоторое время, но с тех пор вернулся с V3.0. Какой консенсус, один предпочтительнее другого и почему? Заранее благодарим за понимание.

ИЗМЕНИТЬ

Я спросил Райана Бейтса в Twitter, и он сказал

Оба делают работу одинаково хорошо. Самый большой фактор - если вы используете какие-либо драгоценные камни, которые требуют разбиения на страницы, поскольку они несовместимы. я действительно люблю will_paginate немоторный подход немного больше, но что личный предпочтение.

4b9b3361

Ответ 1

Kaminari Скалы, если вы используете рельсы 3+, мне нравится использовать его, потому что

  • Это последняя библиотека и поддерживает рельсы 3+ мощно.
  • "Kaminari" прост в использовании и поддерживает ajax очень легко.
  • Paginate pure Объект.
  • Он работает как прокси-сервер на AREL, никакой специфический метод paginate, перегруженный на ActiveRecord
  • Не загрязняет объект Array или Hash
  • Более стандартные рельсы поддерживают другие форматы представления, самый важный мобильный

    User.page(7).per(50)
    

    Но если вы используете рельсы 2.3 и т.д., держите палку с will_paginate, которая также работает с рельсами 3 +, но внутренне не такая совершенный как код Каминари.

Ответ 2

Мне очень нравится Каминари. Я не знаю, сделает ли will_paginate это, но Kaminari также может разбивать на страницы любые обычные старые Array:

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

Есть Railscasts для обоих, которые я рекомендую смотреть.

Ответ 3

смотреть kaminari railscast, а затем смотреть будет paginate railscast

Райан Бейтс советует в комментариях, что Каминари более тяжело использует частичные, что может сделать его менее медленным, но не намного

Ответ 4

Я использовал оба Gems, и, честно говоря, мне нравится Kaminari лучше. Он настолько прост в использовании. Я не видел никаких проблем с производительностью или проблем с окружающей средой (мое приложение живет на Heroku).

Ответ 5

В то время как will_paginate выполняет работу довольно быстро, Kaminari также позволяет вам быстро редактировать вывод HTML с разбивкой по страницам.

Это было замечательно для меня, так как я использую Bootstrap 3 и хотел использовать стили paginations по умолчанию.

Существует жемчужина для will_paginate, которая позволяет вам делать то же самое, но Kaminari это гораздо более flixible