Ruby on rails 如何让will_paginate使用ajax?
到目前为止,我已经学习了一些教程,但运气不好。我使用的是ajax_分页。当我单击第二页的链接时,服务器日志会这样说: 在2013-05-07 14:05:49-0500开始获取127.0.0.1的/?page=2&=1367953277288 AddressControllerIndex作为JS进行处理 参数:{page=>2,=>1367953277288} 地址加载0.9ms选择地址。*从地址限制5偏移量5 呈现地址/_addresses.html.erb 6.7ms 呈现地址/index.html.erb 8.4ms 在10ms视图中完成200 OK:9.0ms |活动记录:0.9ms 因此,看起来请求是正确的,但是页面上没有任何变化。以下是我的部分地址代码:Ruby on rails 如何让will_paginate使用ajax?,ruby-on-rails,ajax,will-paginate,paginate,Ruby On Rails,Ajax,Will Paginate,Paginate,到目前为止,我已经学习了一些教程,但运气不好。我使用的是ajax_分页。当我单击第二页的链接时,服务器日志会这样说: 在2013-05-07 14:05:49-0500开始获取127.0.0.1的/?page=2&=1367953277288 AddressControllerIndex作为JS进行处理 参数:{page=>2,=>1367953277288} 地址加载0.9ms选择地址。*从地址限制5偏移量5 呈现地址/_addresses.html.erb 6.7ms 呈现地址/index.
<%= ajax_loadzone do %>
<% @addresses.each do |address| %>
blah blah
<%end%>
<%= ajax_links :section_id => 'page' do %>
<%= will_paginate @addresses %>
<% end %>
控制器:
ajax\u响应格式,:section\u id=>page,:render=>addresses
索引视图:
'页面',:呈现=>'地址'%>
这不是我的全部代码,而是相关的部分 请注意,我找到了一个解决问题的方法,在重新渲染要渲染的部分时设置jQuery分页 在application.js上: 在控制器上: 关于型号: 在index.js.erb上:
到目前为止,如果我错了,请纠正我,谢谢。我也在为同样的问题苦苦挣扎,你使用了什么资源?Railscast mine,我遵循这一步,但在我的应用程序上,这一步只能遵循Ryan Bates所说的。我的代码和他的代码在live上的不同我们知道,live上的不推荐,pagination.js上的js和application.js上的我的不推荐:
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})
$.fn.ajaxPagination = function() {
this.on("click", function () {
$.get(this.href, null, null, "script");
return false;
});
}
$(document).ready(function() {
$( ".pagination a" ).ajaxPagination();
})
def index
@addresses = Address.pagination(params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @order_requests }
format.js
end
end
def self.pagination(page)
paginate(:per_page => 5, :page => page)
end
$('#page').html("<%= escape_javascript(render('addresses')) %>");
$(".pagination a").ajaxPagination();