rails 3,Kaminari为一个简单的数组分页

时间:2011-07-01 09:18:44

标签: ruby-on-rails kaminari

为了对一个公共数组进行分页,我得到了这个解决方案,

  

@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。

感谢。

1 个答案:

答案 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