0

我正在尝试使用使用 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

应用程序.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&amp;page=1\">&#8592; Previous<\/a> <a rel=\"prev start\" href=\"/?_=1339623038312&amp;page=1\">1<\/a> <em class=\"current\">2<\/em> <a rel=\"next\" href=\"/?_=1339623038312&amp;page=3\">3<\/a> <a href=\"/?_=1339623038312&amp;page=4\">4<\/a> <a class=\"next_page\" rel=\"next\" href=\"/?_=1339623038312&amp;page=3\">Next &#8594;<\/a><\/div>\n<\/div>\n");
4

1 回答 1

0

事实证明我实际上遇到了 Javascript 错误。我在 Firebug 控制台中没有看到它,因为 Javascript 被呈现为 html 而不是 javascript。然而,在萤火虫控制台中手动执行响应 javascript 让我看到了错误。

于 2012-07-09T17:46:25.187 回答