Kaminari ajax нумерация страниц только с предыдущей и следующей кнопкой - PullRequest
4 голосов
/ 25 февраля 2012

Я хочу использовать Kaminari только с prev и следующей кнопкой.

Я использую следующий помощник:

<%= link_to_next_page @object, 'Next', :remote=>true %>

но это, показать только ссылку с Следующая страница.

Я хочу знать, как я могу использовать помощники link_to_previous_page и link_to_next_page toguether.

Ответы [ 3 ]

2 голосов
/ 20 апреля 2012

На самом деле помощник "link_to_next_page" создает ссылку только на следующую страницу, как сказано в названии метода. Если вы хотите использовать кнопки «предыдущий» и «следующий», вам следует использовать помощник «paginate». Пример:

Вы должны проверить Хранилище Kaminari Github README doc для дополнительных примеров

1 голос
/ 12 декабря 2014

Может быть, не совсем то, что вам нужно, но вы можете скрыть элементы с помощью CSS.
Я использую bootstrap с Kaminari и добавляю их в мой app / assets / stylesheets / application.css.scss, чтобы показывались только предыдущая и следующая кнопки,

/* Removes the ellipses */
li.page.gap.disabled a {
  display:none;
}
/* Removes the last button */    
li.last.next a {
  display:none;
}
/* Removes first button */
li.first a {
  display:none;
}
/* Removes the active page */
li.page.active a {
  display:none;
}

Это применимо ко всему сайту.

1 голос
/ 11 июня 2014
  1. Создайте виды Kaminari, которые вам нужно отредактировать. например для начальной загрузки:

    rails g kaminari:views bootstrap

  2. Переименуйте app / views / kaminari / paginator.html.erb в _default_paginator.html.erb (обратите внимание на добавленный «_» в начале).

  3. Создайте следующий файл: app / views / kaminari / _next_prev_paginator.html.erb. Скопируйте / вставьте туда содержимое _default_paginator.html.erb, затем удалите строки, отображающие ссылки на страницы.

  4. Создание инициализатора:

    rails g kaminari:config

  5. В config / initializers / kaminari_config.rb добавьте следующий код перед"Kaminari.configure do":

    Kaminari::Helpers::Tag.class_eval do def to_s(locals = {}) @template.render :partial => "../views/kaminari/#{@theme}#{self.class.name.demodulize.underscore}", :locals => @options.merge(locals) end end

  6. На ваш взгляд:

    paginate @objects, :theme => "default_"

    или

    paginate @objects, :theme => "next_prev_"

Теперь вы можете вводить _default_paginator.html.erb и _next_prev_paginator.html.erb по своему усмотрению.

...