Kaminari可以在同一个控制器def中使用两次吗?

时间:2015-03-25 22:21:07

标签: mysql ruby-on-rails pagination kaminari

我是新手,我想弄清楚Kaminari是否可以在同一控制器def中使用两次,如下例所示。我最终希望能够在同一页面上分页并显示两组搜索结果....

例如:

def whatever
    @page = params[:page] ||= 1
    @per = params[:per] ||= 32

    @code = query (1st query)
    @code = query.uniq.to_a
    @code = Kaminari.paginate_array(@code).page(@page).per(@per)

    @code2 = query (2nd query)
    @code2 = query.uniq.to_a
    @code2 = Kaminari.paginate_array(@code2).page(@page).per(@per)
end

1 个答案:

答案 0 :(得分:1)

kaminary不是按动作运行,它不仅为数组添加方法,而且还与activerecord集成,并且您可以直接在任何查询中运行它,它会将分页转换为mysql限制+偏移,这比分页更好阵列。

@data = Query.page(params[:page]).per(32)

如果页面为nil,则将其用作第1页

它还有许多功能,例如全局每个应用程序设置,每个模型设置等等,我认为这不是一个好主意,您可以参考gem README了解更多信息细节