【问题标题】:Resetting Pagination on AJAX destroy在 AJAX 销毁时重置分页
【发布时间】:2011-03-27 15:57:26
【问题描述】:

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

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

我使用的设计方法还有其他替代方法吗?也许在 Twitter/Buzz/Tumblr 分页上的东西?或者您是否遇到过更好/更酷的解决此问题的方法?

【问题讨论】:

    标签: jquery ruby-on-rails pagination


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      相关资源
      最近更新 更多