- theme ||= {select: 'cabinet_default'} form#per_page_form action='' method='GET' .show_items label = I18n.t :show, scope: [:layout, :cabinet_pagination] - per = @per || params.fetch(:per, Kaminari.config.default_per_page).to_i = select_tag 'per', options_for_select(perpages.map{ |i| [i, i] }, per), class: 'select2-hidden-accessible' label = I18n.t :items, scope: [:layout, :cabinet_pagination] = content_for :javascript coffee: document.addEventListener 'DOMContentLoaded', -> curr = window.location.pathname $('#per_page_form').attr('action', curr) $('#per_page_form').on 'select2:select', (e)-> per_page = $(e.target).val() page_reg = /\/p\/\d+/ per_page_reg = /\/per\/\d+/ if per_page_reg.test(curr) next = curr.replace(per_page_reg, "/per/#{per_page}") else next = [curr, "/per/#{per_page}"].join('') if page_reg.test(next) next = next.replace(page_reg, '') $('#per_page_form').attr('action', next) window.location = next $('#per_page_form select').select2 minimumResultsForSearch: -1, theme: 'cabinet_default'