У меня есть список ресурсов, которые я показываю в разбивке на страницы, используя will_paginate .
Я ничего не настроил, вот мое мнение:
<ul>
<%= render :partial => "item_li", :collection => @items%>
</ul>
<%= will_paginate @items %>
Элементы рассчитываются так на контроллере:
@items = Item.find(:all)
Сгенерированный код представляет собой простой HTML-список со ссылками навигации по страницам внизу:
<ul>
<li>Item 1</li>
<li>Item 2</li>
...
<li>Item 10</li>
</ul>
<div class="pagination">
<span class="disabled prev_page">Previous</span>
<span class="current">1</span>
...
</div>
Я включил кнопку «Удалить» в мои пункты. Когда эта ссылка нажата, сервер выполняет ajax-вызов, и элемент исчезает из списка (<li>
заменяется на ""
)
Моя проблема связана с навигационными ссылками.
- Скажите, что у меня были пункты с 1 по 10 на первой странице, пункты с 11 по 20 на второй и т. Д.
- Скажите, что я удаляю пункты 1, 2 и 3 на первой странице.
- А потом я нажимаю «далее».
Сервер «пересчитает» список предметов; так как я удалил 3 из предыдущего списка, он вернет пункты с 13 по 22. Другими словами, пункты 10, 11 и 12 не появляются ни на первой странице, ни на второй.
Как я могу решить это простым, элегантным способом?
Пока единственное решение, которое я смог найти, это перезагрузить всю страницу после каждого удаления, но затем использование ajax становится бессмысленным.
Большое спасибо.