2

所以我在我的应用程序上设置了 Kaminiari 分页,这是一个论坛。当有人回复该主题时,我想将他们引导至该主题的最后一页。似乎很容易根据我用于记录编号的内容对逻辑进行硬编码以获取最后一页,但是是否有内置方法来获取最后一页?

4

4 回答 4

2

在我当前版本的 kaminari (v0.12.4) 中,以下工作:

users = User.page(params[:page])
last_page = users.num_pages

num_pageshttps://github.com/amatsuda/kaminari/blob/master/lib/kaminari/models/page_scope_methods.rb中定义。如果你想添加一个last_page方法,我建议如下:

module Kaminari
  module PageScopeMethods
    def last_page
      num_pages
    end
  end
end
于 2012-05-08T13:55:31.577 回答
1

看来这个帖子有答案了。

于 2012-04-04T02:47:43.273 回答
0

如果 Kaminari 中还没有,您可以编写一个方法来实现这一点。这应该存在,因为 Kaminari 还呈现用于导航的页码。

说,@records 是您执行 @records.page(1) 以显示获取当前记录集的数据库记录列表,

最后页码由 定义(@records.total_count / per_page.to_f).ceil

于 2012-04-04T18:01:33.657 回答
0

为了其他人,我会分享对我有用的东西。

协会

  1. 对话 has_many 消息
  2. 消息 belongs_to 对话

在对话显示页面中,我想每 10 条消息分页一次

messages = conversation.messages.page(params[:page]).per(10)
last_page = messages.total_pages

然后我想创建一个指向这个显示页面的链接,它将显示最后一页。我刚刚做了一个辅助方法

def create_link_to_last_page(conversation)
    content_tag :div do
      link_to("Show", url_for(controller: 'conversations', action: 'show', id: conversation.id, page: last_page))
    end
end
于 2018-05-23T02:04:42.737 回答