0

我正在尝试使用 jQuery 进行分页。我正在使用 will_paginate gem。它正常工作(没有javascript)。我尝试遵循 railscast ( http://railscasts.com/episodes/174-pagination-with-ajax ) 但我仍然遇到问题。

显示.js.erb

$('#comments').html("<%= escape_javascript(render "comments/comment.html.erb") %>");

这在部分文件只是 html 时有效。IE 没有 <% 这样的代码 %>。为什么?.html 是要调用的错误 jQuery 函数吗?我应该使用什么?

从尝试让事情开始,这段代码可能是问题所在:

$(".pagination a").click(function() {
    //$(".pagination").html("Page is loading...");
    $.get(this.href, null, null, "script");
    return false;
  });

什么是“脚本”?

4

3 回答 3

0

虽然我不知道红宝石,但根据您链接的页面,缺少一对括号:

$('#comments').html("<%= escape_javascript(render("comments/comment.html.erb")) %>");

于 2010-10-13T22:45:47.653 回答
0

我不使用 ruby​​,而且我对 jQuery 相当陌生,但是如果我正确地解释了这一点,那么您正在尝试将 HTML 添加到完全在客户端的元素中,然后期望在其中解析服务器端标记它。

此代码永远不会在服务器上执行。 为了解析服务器端标记,您需要实际执行另一个服务器请求(例如使用 XMLHttpRequest),这可能会在服务器上处理具有此确切标记的文件,然后处理您的服务器端指令。

您可能会对jQuery 的加载函数感兴趣。

于 2010-10-13T23:51:06.963 回答
0

经过多次修补,我发现了我的问题:

我将此添加到我的部分:

<%= will_paginate @comments %>
<% @comments.each do |comment| %>
//partial stuff
<% end %>

截屏视频没有显示他将 will_paginate 行放在哪里,所以我认为它保留在 post 文件中。它也没有在部分文件中显示循环。我没有意识到你必须这样做,因为当你调用部分文件时,rails 无论如何都会这样做。

于 2010-10-14T00:36:34.610 回答