分页 - 如果最后一组记录使用 mod 和 div,如何计算下一个按钮的偏移量?

发布于 2024-12-21 23:11:19 字数 512 浏览 3 评论 0原文

我正在编写手动分页,而不是使用分页 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

轻许诺言 2024-12-28 23:11:19

如果您位于 @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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文