pagination - как рассчитать смещение для следующей кнопки, если на последнем наборе записей используются mod и div? - PullRequest
0 голосов
/ 21 декабря 2011

Я пишу ручную нумерацию страниц, но не использую самоцвет пагинации.
Я хочу рассчитать кнопки «предыдущий» и «следующий».

Предыдущее довольно просто, я могу использовать

<% @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 будет работать?

1 Ответ

2 голосов
/ 21 декабря 2011

Если вы находитесь на @current_offset == 9 и на каждой странице отображается 4, тогда «следующей» страницы не должно быть.

Из любопытства, почему вы не используете существующий камень нумерации страниц? Кто-то уже сделал эту работу за вас.

...