【问题标题】:Replace will_paginate links after ajax callajax 调用后替换 will_paginate 链接
【发布时间】:2011-10-13 19:24:45
【问题描述】:

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

我试过<%= will_paginate @comments, :params => {:controller => 'posts', :action => 'show_outside_comments' %> 但我得到了相同的结果。

非常感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails ajax will-paginate


    【解决方案1】:

    您是否查看过此处描述的 ajax 方法?

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

    【讨论】:

    • 可以,但是我不需要用ajax分页,我只需要替换包含分页链接的html(链接到我想要的url)。
    【解决方案2】:

    您可以执行 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>
    

    【讨论】:

      【解决方案3】:
      $('.pagination a').attr('href', function() { 
        $(this).prop('href').replace('/comments', location.pathname); 
      });
      

      假设您想用当前路径名替换 `/cmets'。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-31
        • 2012-03-22
        • 2012-11-27
        • 2013-07-12
        • 2014-09-20
        • 1970-01-01
        相关资源
        最近更新 更多