37

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

@arr_name = Kaminari.paginate_array(@arr_name).page(params[:page]).per(PER_PAGE_RECORDS)

PER_PAGE_RECORDS是一个变量,其值根据分页需要。

有更好的想法吗??

还有一个使用分页的ajax调用可以使用这个,

在你看来,

为您的 div 标签提供 id

div id="paginate"

在里面

<%= 分页@arr_name, :remote => true %>

并在js响应文件中放置,

$('#paginate').html('<%= escape_javascript(paginate(@arr_name, :remote => true).to_s) %>');

所以你的请求将是 AJAX。

谢谢。

4

1 回答 1

73

这是使用 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
于 2012-03-12T15:21:17.813 回答