2012-02-25 2 views
4

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

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

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

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

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

ответ

2

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

Вы должны проверить Kaminari Github Repository README документ больше примеров

+1

На самом деле в kaminari был добавлен хелпер link_to_previous_page, хотя он не был встроен в последний драгоценный камень. https://github.com/amatsuda/kaminari/commit/39f829b616cc065e5effbc012f21ae3adab145e7#lib/kaminari/helpers/action_view_extension.rb. Во всяком случае, вы все равно можете его использовать. – wanghq

+0

Документ Readme, похоже, не имеет хороших примеров использования вспомогательного элемента paginate для отображения только ссылок «Prev» и «Next». Кажется, что paginate отключает следующую ссылку, когда она достигла последней страницы, тогда как помощник 'link_to_next_page' не отключает ссылку, когда она должна. Если вы знаете, как использовать метод 'paginate' для отображения только ссылок' next' и 'prev', вы можете отправить пример? –

1
  1. Сформировать мнение Kaminari вам нужно отредактировать. например для начальной загрузки:

    rails g kaminari:views bootstrap

  2. Rename приложение/просмотров/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. В конфигурации/инициализаторах/kaminari_config.rb, добавьте следующий код перед тем "Kaminari.configure сделать":

    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. Наше лицо:
  7. Ваше имя:

    paginate @objects, :theme => "default_"

    или

    paginate @objects, :theme => "next_prev_"

Вы можете теперь стиль _default_paginator.html.erb и _next_prev_paginator.html.erb отдельно, как вы считаете нужным.

1

Возможно, не совсем то, что вам нужно, но вы можете скрыть элементы с помощью CSS.
Я использую bootstrap с Kaminari и добавляю их в свое приложение/активы/таблицы стилей/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; 
} 

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

Смежные вопросы