分页 - 如果最后一组记录使用 mod 和 div,如何计算下一个按钮的偏移量?
我正在编写手动分页,而不是使用分页 gem。
我希望计算“上一个”和“下一个”按钮。
上一个非常简单,我可以使用
<% @previous_images_offset = [@current_offset - 4, 0].max %>
但是“下一个”更棘手,我已经尝试过,
<% @next_images_offset = [@current_offset + 4, @total_image_count].min %>
但这是错误的 - 如果有 13 个图像并且我当前的偏移量是 9 它会给我 [13,13].min 即 13,但在这种情况下我真的想要 9,因为我已经“到了最后”。
我想我需要使用 mod 和 div 但我不确定正确的公式。
也许 [@current_offset + 4, ((object.size - (object.size DIV 4)*4)].min 可以工作?
I am writing manual pagination and not using a paginate gem.
I wish to calculate 'previous' and 'next' buttons.
Previous is pretty easy, I can use
<% @previous_images_offset = [@current_offset - 4, 0].max %>
However "next" is more tricky, I have tried
<% @next_images_offset = [@current_offset + 4, @total_image_count].min %>
but that is wrong - if there are 13 images and my current offset is 9 it will gives me [13,13].min which is 13, but I really want 9 in this case as I am already "at the end".
I think I need to use mod and div but I am not sure of the right formula.
Maybe [@current_offset + 4, ((object.size - (object.size DIV 4)*4)].min would work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您位于 @current_offset == 9 并且每页显示 4,那么应该没有“下一页”。
出于好奇,您为什么不使用现有的分页宝石?有人已经为您完成了这项工作。
If you are at @current_offset == 9 and each page shows 4, then there should be no "next" page.
Out of curiosity, why aren't you using an existing pagination gem? Someone has already done this work for you.