限制will_paginate只显示2页,每页5个对象

时间:2012-12-05 11:12:24

标签: ruby ruby-on-rails-3 rubygems pagination will-paginate

我有一个酒店模型,在我们的主页上我们有一个指定的部分,该部分应该显示侧边栏中的最后10家酒店,每页5个。我已经阅读了一些关于will_paginate的文档,并意识到没有合适的方法来限制发送到will_paginate的对象数量,因此限制调用将无法实现任何效果,因此侧边栏显示所有酒店,每页分页5次,下面的代码不能按预期工作。

@nominations = Hotel.where(winner: false).limit(10).paginate(page: params[:page], per_page: 5)

我想知道是否有办法限制使用will paginate显示的页数?因此,即使每页有5个酒店,每个酒店也有5个酒店,它只会显示2页。因此有效地限制了所显示的项目数量。我查看了内部和外部窗口参数,但我不认为这些将有助于这种情况。或者,如果有人有任何其他方法可以实现这一目标,我会全力以赴。

哦,是的,我们必须对提名进行分页,因为侧边栏会远远超过页面上的其他内容,这些内容看起来不会太棒我害怕。

如果您需要更多代码,请大声喊。

1 个答案:

答案 0 :(得分:2)

由于问题 Limit number of pages in will_paginate,所有人必须做的是将total_entries参数传递给paginate函数。所以我的代码看起来像这样:

@nominations = Hotel.where(winner: false).paginate(page: params[:page], per_page: 5, total_entries: 10)