ruby-on-rails - 始终显示 Kaminari 的分页控件

标签 ruby-on-rails ruby pagination kaminari

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

最佳答案

您可以在运行时扩展 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}")

关于ruby-on-rails - 始终显示 Kaminari 的分页控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310343/

相关文章:

ruby-on-rails - gsub { $1.upcase} ?相当于.capitalize?

php - RUBY 和 RAILS 相对于 PHP 和 CODEIGNITER 的主要优势是什么

ruby - 如何使用负索引到正索引进行字符串索引?

ruby-on-rails - 带有 Rails ENV 变量的 bool 逻辑

php - 为我的情况分页?

php - 灵活的 PHP/MySQL 分页

mysql - rails MySql :Empty result in development mode

ruby-on-rails - 如何在 Rails 3 中进行集成测试?

javascript - jqGrid 分页器在滚动分页中不可见

ruby-on-rails - 如何在 redis rails 中订阅多个发布者?