代码之家  ›  专栏  ›  技术社区  ›  Shripad Krishna

在Ajax销毁上重置分页

  •  0
  • Shripad Krishna  · 技术社区  · 14 年前

    我用will paginate来为我的结果分页。我的网站大部分是半封闭式的。视图中的所有记录都可以就地编辑/删除。这些记录已分页。我想知道是否有任何方法可以重置Ajax销毁上的分页。

    例如,假设我有20条记录,每页显示5条记录。如果用户删除一条记录,我希望分页链接相应地重置。此外,我还必须将下一条记录拉入当前页面,并将其显示在已删除记录的位置。我只是想知道是否有一些可用的gem/plugin可以做同样的事情。如果不是的话,我得自己做一个。

    对于我正在使用的设计方法,还有其他的选择吗?也许在twitter/buzz/tumblr pagination这条线上有什么?或者你是否发现了解决这个问题的更好或更酷的方法?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Vlad Zloteanu    14 年前

    我理解,仅仅重新加载保存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