Rails3/will_paginate/Ajax - next/previous link doesn't work properly (is it a bug?)

烈酒焚心 提交于 2019-12-21 22:07:24

问题


I am following the "Pagination with ajax" railscast for my rails 3 application. Everything seems to work great, except the fact that Previous and next links don't work at all.

Basically,

  • It appears that the previous link is stuck even if I click on other pages, (when I am on the user/show page1)

  • The "next link" works one time till the page 2 (I can't use it after)

  • Numbers didn't update when I come to "..."

I would be pleased to know if someone experience the same problem (a bug?) or if my code is wrong. I use will paginate ("~> 3.0.pre2"and jquery 1.8.10) for a list of microposts dependent to users.

Thanks a lot for your help!

here the code:

layout_helper.rb

module LayoutHelper
  def javascript(*args)
    content_for(:head) { javascript_include_tag(*args) }
  end
end

users_controller.rb

def show
    @user = User.find(params[:id])
    @microposts = @user.microposts.paginate(:per_page => 10, :page => params[:page])
end

microposts/_micropost.html.erb

...

users/show.html.erb

<% javascript "pagination" %>

...

<%= will_paginate @microposts %>
  <ul id="feed_items">
    <%= render @microposts %>
  </ul>

users/show.js.erb

$("#feed_items").html("<%= escape_javascript(render @microposts ) %>");

pagination.js

$(document).ready(function() {
  $(".pagination a").live("click", function() {
    $.get(this.href, null, null, "script");
    return false;   
  });
});

回答1:


I suggest you look at http://railscasts.com/episodes/254-pagination-with-kaminari .

will_paginate is not updated to work with Rails 3.




回答2:


Or, if you want to stick with will_paginate there's a simple fix. Just put your helper method in a div like so:

<div id="page_links">
 <%= will_paginate @microposts %>
</div>

Then, in your js.erb file add this line to the end:

$('#page_links').html('<%= escape_javascript(will_paginate @microposts) %>');

You're already passing page and all the right params there anyway, so this will just force the view links to update properly.



来源:https://stackoverflow.com/questions/5371911/rails3-will-paginate-ajax-next-previous-link-doesnt-work-properly-is-it-a-bu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!