为了对一个公共数组进行分页,我得到了这个解决方案,
@arr_name = Kaminari.paginate_array(@arr_name)。第(PARAMS [:页])。每(PER_PAGE_RECORDS)
PER_PAGE_RECORDS
是一个根据分页需要的值的变量。
任何更好的想法??
对于使用分页的ajax调用,也可以使用它,
在您看来,
将id添加到div标签
div id="paginate"
并在其中
<%= paginate @arr_name,:remote => true%>
在js响应文件中,
$('#paginate')。html('<%= escape_javascript(paginate(@arr_name,:remote) => true).to_s)%>');
所以你的请求将是AJAX。
感谢。
答案 0 :(得分:64)
这是使用Kaminari对数组对象进行分页的唯一可用辅助方法。另一种选择是,如kaminari wiki page中建议的解决方案,将实例方法添加到数组对象。
如果您正在尝试基于ActiveModel返回类型的公共解决方案(.all返回数组并且.where返回ARL),则以下是一种解决方法。
unless @arr_name.kind_of?(Array)
@arr_name = @arr_name.page(params[:page]).per(PER_PAGE_RECORDS)
else
@arr_name = Kaminari.paginate_array(@arr_name).page(params[:page]).per(PER_PAGE_RECORDS)
end