所以我已经在我的应用程序上设置了Kaminiari,这是一个论坛。当有人回复该帖子时,我想将它们引导到该帖子的最后一页。似乎很容易根据我用于记录号码的内容硬编码逻辑来获取最后一页,但是有没有内置的方法来获取最后一页?
答案 0 :(得分:2)
在我目前的kaminari版本(v0.12.4)中,以下作品:
users = User.page(params[:page])
last_page = users.num_pages
num_pages
在https://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
答案 1 :(得分:1)
似乎this thread有答案。
答案 2 :(得分:0)
如果Kaminari中尚未出现,您可以编写一种方法来实现此目的。这应该存在,因为Kaminari还呈现导航的页码。
比如说,@ records是您执行@ records.page(1)以显示获取当前记录集的db记录列表,
最后一页编号由(@records.total_count / per_page.to_f).ceil
定义。
答案 3 :(得分:0)
对于其他人来说,我会分享对我有用的东西。
在对话节目页面中,我想对每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