Paginating an Array in Ruby with will_paginate

Pi Horse picture Pi Horse · Nov 2, 2012 · Viewed 21.4k times · Source

I have an array @level1 which looks like this :

[[3.0, 4, 2], [2.0, 48, 3], [2.1, 56, 4], ............]

I want to apply pagination on this array such each page displays only a few rows at once. I tried this:

@temp1 = @level1.paginate(:page => params[:page])

But it throws the following error:

undefined method `paginate' for [[3.0, 4, 2], [2.0, 48, 3], [2.1, 56, 4]]:Array

How can I perform pagination on this using will_paginate?

Answer

Philip Hallstrom picture Philip Hallstrom · Nov 2, 2012

See https://github.com/mislav/will_paginate/blob/master/lib/will_paginate/array.rb

Just require 'will_paginate/array' before you try it and it will work just fine. If it were me, I'd put that in say config/initalizers/will_paginate_extensions.rb so it's available right away and from everywhere.