我正在尝试使用Pagination With Ajax中指定的will_paginate gem为我的分页添加一些ajax并且我已经达到了可以在Firebug中看到正确的HTML响应但我实际上并没有奇怪地渲染新代码。
这是我的简化代码:
索引操作
def index
@videos = Video.paginate :page => params[:page], :per_page => per_page
end
index.html.haml
#box_content{:style => "padding: 1em;text-align:center;"}
= render "video
_video.html.haml
- @videos.each do |video|
%iframe{:width=>"200", :height=>"150", :src=>link_src(video.link), :frameborder=>"0", :allowfullscreen =>"true"}
%div.pageinfo
= will_paginate @videos
的application.js
$(function () {
$('.pagination a').live("click", function () {
$.get(this.href, null, null, 'script');
return false;
});
});
index.js.erb的
$('#box_content').html("<%= escape_javascript(render("video")) %>");
当我点击will_paginate链接时,根本没有任何事情发生,如果我查看网络GET响应,我看到以下内容确实指示了新页面:
$('#box_content').html("<iframe allowfullscreen=\'true\' frameborder=\'0\' height=\'150\' src=\'http://www.youtube.com/embed/z52V60aZ7ro\' width=\'200\'><\/iframe>\n<div class=\'pageinfo\'>\n <div class=\"pagination\"><a class=\"previous_page\" rel=\"prev start\" href=\"/?_=1339623038312&page=1\">← Previous<\/a> <a rel=\"prev start\" href=\"/?_=1339623038312&page=1\">1<\/a> <em class=\"current\">2<\/em> <a rel=\"next\" href=\"/?_=1339623038312&page=3\">3<\/a> <a href=\"/?_=1339623038312&page=4\">4<\/a> <a class=\"next_page\" rel=\"next\" href=\"/?_=1339623038312&page=3\">Next →<\/a><\/div>\n<\/div>\n");
答案 0 :(得分:0)
事实证明我实际上是在收到Javascript错误。我没有在我的Firebug控制台中看到它,因为Javascript被渲染为html而不是javascript。手动执行firebug控制台中的响应javascript让我看到错误。