Rails / Kaminari - 如何订购分页数组?

时间:2013-05-01 21:30:13

标签: ruby-on-rails scope kaminari

我遇到问题排序我已成功与Kaminari分页的数组。

在我的控制器中我有:

@things = @friend_things + @user_things

@results = Kaminari.paginate_array(@things).page(params[:page]).per(20)

我希望最终的@results数组按:created_at排序,但是没有幸运获得使用Kaminari提供的通用数组包装器的命令。有没有办法在Kaminari包装器中设置顺序?否则最好的方法是什么?感谢。

1 个答案:

答案 0 :(得分:3)

您可以在将元素发送给Kaminary之前对其进行排序,如下所示:

@things = @friend_things + @user_things
@things.sort! { |a,b| a.created_at <=> b.created_at }
@results = Kaminari.paginate_array(@things).page(params[:page]).per(20)

@things = @friend_things + @user_things
@things.sort_by! { |thing| thing.created_at }
@results = Kaminari.paginate_array(@things).page(params[:page]).per(20)