我使用will_paginate对结果进行分页。我的大部分网站都是AJAXified。可以在适当的位置编辑/删除视图中的所有记录。这些记录是分页的。我想知道是否有任何方法可以重置AJAX destroy的分页。
例如,假设我有20条记录,每页显示5条记录。如果用户删除记录,我希望相应地重置分页链接。此外,我必须将下一条记录拉入当前页面并显示它以代替已删除的记录。我只是想知道是否有一些可用的宝石/插件可以做同样的事情。如果不是我必须自己制作一个。
我使用的设计方法还有其他替代方法吗?也许就Twitter / Buzz / Tumblr分页的问题?或者你遇到过哪种方法可以更好/更酷地解决这个问题?
答案 0 :(得分:1)
据我所知,只是重新加载包含5条记录和分页的div不是一种选择。
如果是这种情况,在destroy方法中,您还可以附加新记录并重新加载分页。
def destroy
# destroy record
...
#reload records for current page
@models = MyModel.paginate(:page => params[:page])
render :update do |page|
#remove record div
...
new_record_to_append = @models[MyModel.per_page - 1]
#append the last record to the page
page.insert_html(:bottom, 'content', :partial => 'my_partial', :object => new_record_to_append) if new_record_to_append
#replace pagination
page.replace 'pagination', :partial => 'pagination_partial'
end
end