你如何让Will_paginate正确显示一个混洗数组的页面

时间:2013-03-26 17:28:48

标签: ruby-on-rails arrays ruby-on-rails-3 will-paginate

我目前在Rails 3.1中使用will_paginate来对数组进行分页

在#show

的控制器中
 @items = ["item1", "item2", "item3" ....... "item100"]

 @items.shuffle!
 @items.paginate(:page => params[:page], :per_page => 5)

我面临的问题是,每次查看时,每个页面看起来都完全不同,即不同的项目顺序。例如,如果您查看第2页并单击上一页返回第1页,则第1页将显示不同的设置。我确信这是因为控制器中的随机播放。似乎在每个页面视图上生成一个新数组。这有什么方法吗?可能会在会话中存储当前的@items吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

 @items ||= ["item1", "item2", "item3" ....... "item100"].shuffle!
 @items.paginate(:page => params[:page], :per_page => 5)