Module: Concerns::PaginationController
- Extended by:
- ActiveSupport::Concern
- Included in:
- Backend::ArticlesController, Backend::AssetsController, Backend::EmailsController, Backend::Forms::FieldsController, Backend::Forms::SubmissionsController, Backend::RedirectsController, Backend::SearchSynonymsController, Backend::TagsController, Backend::UsersController
- Defined in:
- app/controllers/concerns/pagination_controller.rb
Instance Method Summary collapse
Instance Method Details
#page_number ⇒ Object
14 15 16 17 18 |
# File 'app/controllers/concerns/pagination_controller.rb', line 14 def page_number return 1 unless params[:page].respond_to?(:to_i) page = params[:page].to_i.abs page == 0 ? 1 : page end |
#paginate(records, options = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/concerns/pagination_controller.rb', line 20 def paginate(records, = {}) .reverse_merge!(page: page_number, per_page: per_page) if records.is_a?(Array) records.paginate else records.page([:page]).per_page([:per_page]) end end |
#per_page ⇒ Object
30 31 32 33 34 35 36 |
# File 'app/controllers/concerns/pagination_controller.rb', line 30 def per_page [5, 10, 25, 30, 50, 100].each do |i| return i if params[:per_page].to_i == i end 10 end |