Rails:通过Ajax / jQuery渲染Will_Paginate的页面

时间:2012-03-03 22:58:09

标签: javascript jquery ruby-on-rails ruby ajax

我有一个在微博模型下发布的评论模型,它们都在同一页面上。我遇到的问题是,当评论在微博下分页时,链接会导致微博的第二页而不是第二页的评论,但不是重定向到第二页我想渲染更多的评论通过分页ajax但我对如何到达嵌套路线感到困惑。有人对此有什么建议吗?路线部分正在向我走来。以下是我的微博/评论部分HTML的代码。另外,我在哪里插入控制器的respond_to do部分?谢谢!

Micropost / Comment Section HTML

<div id='CommentContainer-<%= micropost.id%>' class='CommentContainer Condensed2'>
<div class='Comment'>
<%= render :partial => "comments/form", :locals => { :micropost => micropost } %>
</div>
<div id='comments'>
  <% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
  <%= render comments %>
  <%= will_paginate comments, :class =>"pagination" %>
</div>
</div>

用户控制器 - 显示在

上的页面
class UsersController < ApplicationController
  def show
    @user = User.find(params[:id])
    @school = School.find(params[:id])
    @comment = Comment.find(params[:id])
    @micropost = Micropost.new
    @comment = Comment.new
    @comment = @micropost.comments.build(params[:comment])
    @comments = @micropost.comments.paginate(:page => params[:page], :per_page => 5)
    @microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 10, :page => params[:page])
  end
end

1 个答案:

答案 0 :(得分:2)

大多数人都使用经典的railscast:

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

请注意,现在,对于rails 3,您只需将其包含在中 gem 'will_paginate'
- 当然还有bundle install。 - 而不是longwinded
gem 'mislav-will_paginate', :lib => 'will_paginate', :source => 'http://gems.github.com'