2013-05-01 1 views
1

J'ai un problème en commandant un tableau que j'ai paginé avec succès avec Kaminari.Rails/Kaminari - Comment commander un tableau paginé?

Dans mon contrôleur je:

@things = @friend_things + @user_things 

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

Je veux avoir le tableau @results finale ordonnée par :created_at, mais ont eu aucune chance d'obtenir la commande de travailler avec l'emballage de tableau générique qui fournit Kaminari. Y a-t-il un moyen de régler l'ordre dans l'emballage Kaminari? Sinon, quelle serait la meilleure façon? Merci.

Répondre

3

Vous pouvez trier les éléments avant de l'envoyer à Kaminary, comme ceci:

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

ou

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

Merci une tonne! C'est génial. –