到目前为止,我已经遵循了一些没有运气的教程。我正在使用ajax_pagination。当我单击第二页的链接时,这就是服务器日志所说的内容: 在2013-05-07 14:05:49-0500开始获取127.0.0.1的GET“/?page = 2& = 1367953277288” 由AddressesController #index处理为JS 参数:{“page”=>“2”,“”=>“1367953277288”} 地址加载(0.9ms)SELECT“地址”。* FROM“地址”LIMIT 5 OFFSET 5 渲染地址/ _addresses.html.erb(6.7ms) 渲染地址/ index.html.erb(8.4ms) 在10ms完成200 OK(浏览次数:9.0ms | ActiveRecord:0.9ms)
因此看起来请求是正确的,但页面上没有任何变化。这是我的部分_addresses的代码:
<%= ajax_loadzone do %>
<% @addresses.each do |address| %>
blah blah
<%end%>
<%= ajax_links :section_id => 'page' do %>
<%= will_paginate @addresses %>
<% end %>
控制器: ajax_respond格式,:section_id =&gt; “page”,:render =&gt; “地址”
索引视图: &lt;%= ajax_section:id =&gt; 'page',:render =&gt; '地址'%&gt;
这不是我的所有代码,而是相关的部分。
答案 0 :(得分:0)
请CMIIW,我通过设置jQuery分页找到了我的问题的解决方案,同时重新渲染我们想要渲染的部分。
在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();
})
在controller
:
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
在model
:
def self.pagination(page)
paginate(:per_page => 5, :page => page)
end
让我们说index.js.erb
:
$('#page').html("<%= escape_javascript(render('addresses')) %>");
$(".pagination a").ajaxPagination();
到目前为止,如果我错了,请纠正我,谢谢。