Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails将使用ajax分页_Ruby On Rails_Jquery - Fatal编程技术网

Ruby on rails RubyonRails将使用ajax分页

Ruby on rails RubyonRails将使用ajax分页,ruby-on-rails,jquery,Ruby On Rails,Jquery,我在我的rails应用程序中使用了will_paginate,但我遇到了一种情况,我需要在一个块中使用will_paginate,当我单击页码时,页面不应该重新加载。有谁能帮我说一下如何将will_paginate与ajax集成以避免页面重新加载……?以下是我的设置方法: 假设我有一个项目模型 首先在“索引”视图中,我呈现一个部分,其中执行分页: <div id="list"> <%= render 'items/paginate_list', :items => @i

我在我的rails应用程序中使用了will_paginate,但我遇到了一种情况,我需要在一个块中使用will_paginate,当我单击页码时,页面不应该重新加载。有谁能帮我说一下如何将will_paginate与ajax集成以避免页面重新加载……?

以下是我的设置方法:

假设我有一个项目模型

首先在“索引”视图中,我呈现一个部分,其中执行分页:

<div id="list">
 <%= render 'items/paginate_list', :items => @items %>
</div>
然后在application.js中,我捕获了单击我的分页类链接的事件:

这样,通过$.get语句在ajax中对控制器执行调用。分页栏显示页面正在加载的消息

在控制器中,我只有通常的:

class ItemsController < ApplicationController
  def index
    @items=Item.paginate(:page => params[:page], :per_page => 10)
  end
end
最后,在embedded js中,我为部分提供了要重新加载的分页:

items/index.js.erb
$("#list").html("<%= escape_javascript(render 'items/paginate_list', :items => @items) %>");
希望这有帮助


事实上,这大致是一个简单的总结-

我有一个分页javascript文件

所以我在index.html.erb文件中添加了

<%=javascript_include_tag "pagination.js"%>
我在索引操作中获取了这样的模型数据

@employees = Employee.where("!is_deleted=?",1).paginate(:page=>params[:page] ,:per_page => 20)
并将其添加到index.js.erb文件中

$("#employee_table").html("<%= escape_javascript(render("employees")) %>");

这就是为什么我使用where,因为它也支持阵列。

请让我们知道您的研究结果,这里有一个railscast:
$(function(){
    $(".pagination a").live("click", function() {
        $.get(this.href, null, null, "script");
        return false;
    });
});
@employees = Employee.where("!is_deleted=?",1).paginate(:page=>params[:page] ,:per_page => 20)
$("#employee_table").html("<%= escape_javascript(render("employees")) %>");
require 'will_paginate/array'