3

即使总页数为 1,有没有办法让 Kaminari 始终显示分页控件?

4

1 回答 1

7

您可以在运行时扩展 Kaminari,这个过程称为 [monkey-patching]。只需在 config/initializers/kaminari_ext.rb 中创建一个文件,其中包含以下内容:

module Kaminari
  module Helpers
    class Paginator
      def render(&block)
        instance_eval(&block) if @options[:total_pages] >= 1
        @output_buffer
      end
    end
  end
end

您需要重新启动 Rails 服务器才能使更改生效。

如果您收到关于num_pages为 nil的错误,您可以更改主题中的num_pages,将其更改为total_pages。最终num_pages将被弃用以代替total_pages

例如,我必须更改_page.html.haml

= raw("PAGE  #{page}  OF  #{total_pages}")
于 2012-09-07T00:47:38.190 回答