RoR 使用 Kaminari 添加分页

RoR Adding pagination with Kaminari

我想为我的 rails 项目添加一些分页。 我已经添加了 Kaminari,而且每页只显示 10 条记录。但是我已经缺少 next/prev 箭头和页面指示器。

我正在使用 Kaminari.paginate_array(@array).page(params[:page]).per(10)

这是我到目前为止添加的唯一内容。

我不知道这是否重要,但在我看来我有 @array.to_json

我应该添加什么来显示箭头?

查看代码:

<% content_for :create_button do %>
  <%= create_button(new_battery_reset_path) %>
<% end %>
<div class="tab-content">
  <%= paginate @battery_resets %>
  <div class="tab-pane active" id="battery-resets" role="tabpanel"
    data-battery-resets='<%= @battery_resets.to_json %>'>
  </div>
  <div class="tab-pane" id="profile" role="tabpanel">...</div>
  <div class="tab-pane" id="messages" role="tabpanel">...</div>
</div>

控制器代码:

def index
    @battery_resets = Kaminari.paginate_array(BatteryResetDecorator.build_collection(
      ::Filters::BatteryReset.new(
          current_account.battery_resets.includes({ device: :account },
            :device_inspection)
      ).apply(permited_params[:q])
    )).page(params[:page]).per(10)

    respond_with(@battery_resets)
  end

您可能希望将 <%= paginate @array %> 放入您的 rails 视图中。 在提出任何问题之前,请先尝试阅读 gem 的 wiki。( kaminari wiki )

根据 docs:

Just call the paginate helper:

<%= paginate @battery_resets %>

This will render several ?page=N pagination links surrounded by an HTML5 <nav> tag.

这与 will_paginate(另一个 gem)的模式相同。

--

关于您的 fa_icon 错误,这是由 font-awesome-rails gem 引起的;这意味着助手不可用。

修复它的方法是确保您只使用 Kaminari 的捆绑文件。如果您以任何方式更改了 _next_page.html.erb,错误现在可能会再次出现。

--

fa_icon 错误的快速修复是将 font-awesome-rails 添加到您的 Gemfile:

#Gemfile
gem "font-awesome-rails"