ajax 调用后替换 will_paginate 链接

发布于 2024-12-09 11:23:58 字数 325 浏览 0 评论 0原文

我正在开发 Ruby on Rails 应用程序,我的问题是我对帖子的所有评论进行了分页并完美显示,但是当用户通过 ajax 保存新评论时,我将所有内容替换为部分内容新内容(包括 will_paginate @comments),链接的 url 更改为保存评论的操作的 url,我不知道如何使它们正确链接。

我尝试使用 <%= will_paginate @comments, :params =>; {:控制器=> '帖子', :action => 'show_outside_comments' %> 但我得到了相同的结果。

非常感谢您的帮助!

I'm working on a Ruby on Rails aplicattion, my problem is that I have all the comments of a post paginated and showed perfectly, but when an user saves a new comment via ajax, and I replace all the content with the partial with the new content(including the will_paginate @comments), the urls of the links change to the url of the action that saves the comments and i don't know how to do to make them link correctly.

I tried with <%= will_paginate @comments, :params => {:controller => 'posts', :action => 'show_outside_comments' %>
But I get the same results.

Thank you very much for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

江南月 2024-12-16 11:23:58

您研究过这里描述的 ajax 方法吗?

http://railscasts.com/episodes/174-pagination-with-ajax

Have you looked into the ajax methods described here?

http://railscasts.com/episodes/174-pagination-with-ajax

烟凡古楼 2024-12-16 11:23:58

您可以执行 javascript 代码来更新链接,
像这样的东西:

<div class="paging_links" >
<%= will_paginate @comments, :params => {:controller => 'posts', :action => 'show_outside_comments' %>
</div>

    <script type="text/javascript">
      jQuery('.paging_links a').click(function(event){
        href = jQuery(this).attr('href');
        event.preventDefault();
        // update href here
      })
    </script>

you can execute javascript code to update the links,
something like:

<div class="paging_links" >
<%= will_paginate @comments, :params => {:controller => 'posts', :action => 'show_outside_comments' %>
</div>

    <script type="text/javascript">
      jQuery('.paging_links a').click(function(event){
        href = jQuery(this).attr('href');
        event.preventDefault();
        // update href here
      })
    </script>
羁绊已千年 2024-12-16 11:23:58
$('.pagination a').attr('href', function() { 
  $(this).prop('href').replace('/comments', location.pathname); 
});

假设您想用当前路径名替换“/comments”。

$('.pagination a').attr('href', function() { 
  $(this).prop('href').replace('/comments', location.pathname); 
});

Assuming you want to replace `/comments' with the current pathname.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文