我遇到问题排序我已成功与Kaminari分页的数组。
在我的控制器中我有:
@things = @friend_things + @user_things
@results = Kaminari.paginate_array(@things).page(params[:page]).per(20)
我希望最终的@results
数组按:created_at
排序,但是没有幸运获得使用Kaminari提供的通用数组包装器的命令。有没有办法在Kaminari包装器中设置顺序?否则最好的方法是什么?感谢。
答案 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)