2017-02-27 2 views
1
@items = @cats + @dogs + @birds 
@pag_items = Kaminari.paginate_array(@items).page(params[:page]).per(9) 

puts @pag_items.count 
6 

Das @ items-Array hat 23 Elemente.
Warum enthält das Array @pag_items nur 6 Elemente?Kaminari nicht respektieren .per() Einstellung

Wenn ich es auf 5 oder 4 setze, wird es so viele halten. Aber mehr als 6 wird es nicht.

Danke!

+0

Sie ist ein 'legt @ items.count' tun? – Swards

+0

Was ist 'params [: Seite]'? Wenn es gleich 3 ist, erhalten Sie 6 letzte Elemente. – MikDiet

+0

params [: Seite] ist 1. –

Antwort

2

Sie wahrscheinlich hat max_per_page Einstellung aktiviert: dass ein Tippfehler

Kaminari.configure { |s| s.max_per_page = 6 } 
@items = (1..23).to_a 
# => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] 
@pag_items = Kaminari.paginate_array(@items).page(1).per(9) 
# => [1, 2, 3, 4, 5, 6] 
+0

Vielen Dank. Ich kann mich nicht erinnern, einen Initialisierer für Kaminari eingerichtet zu haben, aber ich hatte eine Einstellung und hatte es nicht bemerkt. Es wurde tatsächlich 'max_per_page = 6' gesetzt. –

Verwandte Themen