【发布时间】:2011-04-04 14:02:43
【问题描述】:
我有一个资源列表,我使用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 变得毫无意义。
非常感谢。
【问题讨论】:
标签: ruby-on-rails ajax will-paginate