Kaminari paginate数组。如何处理大量数据?

时间:2014-09-05 19:00:05

标签: ruby-on-rails activerecord rails-activerecord kaminari

我需要对2个不同的模型进行分页。我现在用的是:

activity_logs = ActivityLog.for_user(@user.id)
                  .group('activity_id').not_anonymous.recent

replies = @user.posts.recently_created

@activity_logs = Kaminari.paginate_array(activity_logs + replies)
                   .page(params[:page]).per(20)

但它没有显示回复,因为ActivityLog有很多记录。那我该怎么办?

1 个答案:

答案 0 :(得分:0)

Kaminari不知道按创建日期对两个数组进行排序。你需要自己做。有点像...

paginatable_array = (activity_logs + replies).sort_by(&:created_at)
@activity_logs = Kaminari.paginate_array(paginatable_array).page(params[:page]).per(20)

是的,paginatable_array是一个可怕的名字选择。 :)