我想为我的rails项目添加一些分页。
我已经添加了Kaminari
,我设法每页只显示10条记录。但我已经错过了下一个/上一个箭头和页面指示器。
我正在使用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
答案 0 :(得分:1)
您可能希望将select DISTINCT
group_concat( DISTINCT m.lot1 ORDER BY m.lot1 ASC SEPARATOR ',' )
from
myTableXYZ m
group by
m.product
having
MAX( case when m.tag1 = 101 then 1 else 0 end ) = 1
AND MAX( case when m.tag1 = 102 then 1 else 0 end ) = 1
AND sum( case when m.tag1 in ( 101, 102 ) then 0 else 1 end ) = 0;
放在rails视图中。
在提出任何问题之前,请先尝试阅读gem的wiki。(kaminari wiki)
答案 1 :(得分:0)
根据docs:
只需调用paginate helper:
<%= paginate @battery_resets %>
这将呈现由a包围的几个
?page=N
分页链接 HTML5<nav>
代码。
这也是will_paginate
(另一个宝石)的相同模式。
-
关于fa_icon
错误,这是由font-awesome-rails
gem引起的;这意味着帮助者不可用。
解决此问题的方法是确保您仅使用Kaminari
的捆绑文件。如果您以任何方式更改了_next_page.html.erb
,则错误很可能现在又回来了。
-
fa_icon
错误的快速解决方法是将font-awesome-rails
添加到Gemfile
:
#Gemfile
gem "font-awesome-rails"