will_paginate – 第2页及以后未显示的其他查询

我有一个视图,显示两个Active Record查询,其中一个我使用will_paginate。

所有这些都适用于will_paginate,但是如果我单击next或page 2,则第二个查询将不再在视图上呈现。

我可能不理解will_paginate处理的流程,所以任何帮助都表示赞赏。 特别是,为什么will_paginate会影响另一个不相关的查询在视图中显示? 如果单击第一页,则第二个查询将再次显示在视图中。 控制器返回两个查询,并在一个查询上有.paginate。

谢谢!

根据请求,这里是我要问的代码的摘要。 我忘了提到其他查询也使用了will_paginate。 因此,我发现了我的问题。 我对两个分页使用相同的页面参数! 我发现了一篇描述该怎么做的好文章: http : //candidcode.com/2009/11/03/paginating-multiple-models-using-will_paginate-on-the-same-page/

并更新了我的代码,它的工作原理。 基本上,当你想在同一视图上的不同模型上使用两个will_paginates时,这是正确的代码。

控制器:

def index @query1 = Post.somescope.paginate(:page => params[:query1_page], :per_page => 50) @query2 = Post.someotherscope.paginate(:page => params[:query2_page], :per_page => 20) end 

视图:

 
  • 'query1_page' %>
  • ...
  • 'query2_page' %>
  • ...