重置AJAX破坏的分页

时间:2010-08-10 06:12:06

标签: jquery ruby-on-rails pagination

我使用will_paginate对结果进行分页。我的大部分网站都是AJAXified。可以在适当的位置编辑/删除视图中的所有记录。这些记录是分页的。我想知道是否有任何方法可以重置AJAX destroy的分页。

例如,假设我有20条记录,每页显示5条记录。如果用户删除记录,我希望相应地重置分页链接。此外,我必须将下一条记录拉入当前页面并显示它以代替已删除的记录。我只是想知道是否有一些可用的宝石/插件可以做同样的事情。如果不是我必须自己制作一个。

我使用的设计方法还有其他替代方法吗?也许就Twitter / Buzz / Tumblr分页的问题?或者你遇到过哪种方法可以更好/更酷地解决这个问题?

1 个答案:

答案 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