【问题标题】:Will paginate issue in rails application将在 Rails 应用程序中分页问题
【发布时间】:2013-02-25 18:27:04
【问题描述】:

我有一个应用程序,它根据结果的数量对两个模型进行分页,可以有一个 two models or one 的集合,它被分页,这样集合的总数总是 12(每页计数) .

现在,由于我在最终分页时通过了 total_entries,所以总页数是正确的,但是 current_page 始终保持为 1,因为集合大小始终为 12

如何修改视图助手以使 WP 根据我发送的params[:page] 更改页码。

出现在第 2 页和第 3 页等的链接是可点击的,并导致正确的分页结果,但始终保留在第 1 页中,next_page 链接不起作用。

这是我在视图中的分页

<%= will_paginate @collection, :renderer => "RemoteLinkRenderer", :params => {:controller => 'doc_managers',:action => @action} %>

这是我在控制器中的个人和最终分页

f = Folder.action_folder_collection(@action, current_user).paginate(:page => params[:page], :per_page => 12)
if (f.count < 12)
  #d = Document.action_document_collection(@action, current_user)
  d = Document.action_document_collection(@action, current_user).paginate(:page => d_page(params[:page], fc, dc), :per_page => per_page-f.count)
end

@collection = collection.flatten.paginate(:page => page(params[:page], collection.flatten.size),:per_page => 12, :total_entries => total)

现在因为 @collection 总是分页并且它的大小总是 12 ,所以它留在页面 1 中。

我该如何解决?

【问题讨论】:

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


    【解决方案1】:

    您可以在will_paginate 中定义:per_page 选项以显示每页的总页数。

    <%= will_paginate @collection, :renderer => "RemoteLinkRenderer", :params => {:controller => 'doc_managers',:action => @action}, :per_page => 12 %>
    

    如果您想建立next page 链接,请关注this SO post

    【讨论】:

    • per_page 的东西不起作用。正如我所说,它已经将其分页到每页 12 页,并且还显示了正确的页数,但是由于每个集合一次只有 12 个条目,因此选择的页码始终为 1。
    • 不要将它用于收集基础,以每页为基础。如上所述,您需要从@collection 中删除分页,而是在will_paginate 中使用它。
    • 从@collection 中删除它不会显示任何分页链接。它仅显示第一页,其中包含 12 个条目,这是我的文件夹模型分页结果中的 12 个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2012-06-22
    • 2012-05-10
    • 1970-01-01
    相关资源
    最近更新 更多