2011-07-01 14 views
29

对于拼版共同的阵列我得到这个溶液,导轨3,雷分页用于简单阵列

@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(分页(@arr_name,:远程 =>真).to_s)% >');

所以你的请求将是AJAX。

谢谢。

+0

请使用4空格缩进或反引号格式化您的代码。谢谢。 –

+4

你的问题究竟是什么? – Fivell

+0

@Fivell他不确定这是否是正确的方法? – Roger

回答

58

这是使用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 
+0

伟大的解决方案:) +1 :) –

+7

很好的解决方案。只是一个小建议@Sethupathi。这是一个最好的做法,使用'如果其他'而不是'除非':)干杯! – Ron

+0

伟大的解决方案。非常感谢! – fmquaglia