我一直在处理的当前页面是一个页面,用户可以在这个页面上创建一个特定微博下的评论。所有的微柱都显示在同一页上,这些微柱被分页。在每个特定的微博上,都有评论,这些评论应该被分页,而我目前面临的问题是,只有在HTML代码是这样的情况下才会进行分页:
<div id='comments'>
<%=render @comments %>
<%= will_paginate @comments, :class =>"pagination" %>
</div>但问题是,只有第一条微博的评论才会出现在每个微博上,而不是具体的微博评论上。所以我想为什么不把代码写成这样:
<div id='comments'>
<%=render micropost.comments %>
<%= will_paginate @comments, :class =>"pagination" %>
</div>这基本上设置了正确微博中的所有具体注释,但它没有分页,但是分页链接显示了,所以我想,把这个放上去会有用,但它没有,得到了一个错误:
<div id='comments'>
<%=render micropost.comments %>
<%= will_paginate micropost.comments, :class =>"pagination" %>
</div>我很困惑,也不知道该怎么做,是的,微博应该没有@,我会给出任何有帮助的建议!谢谢!
我的User#Show
用户控制器
class UsersController < ApplicationController
def show
@user = User.find_by_id(params[:id])
@school = School.find(params[:id])
@micropost = Micropost.new
@comment = Comment.new
@comment = @micropost.comments.build(params[:comment])
@comments = @micropost.comments.paginate(:page => params[:page], :per_page => 10)
@microposts = @user.microposts.paginate(:per_page => 10, :page => params[:page])
end
end发布于 2012-03-03 22:00:03
这是可行的,但您需要在视图中执行任务这一事实告诉您,这可能不是这样做的方法:
<div id='comments'>
<% comments = micropost.comments.paginate(:per_page => 10, :page => params[:page]) %>
<%= render comments %>
<%= will_paginate comments, :class =>"pagination" %>
</div>请注意,微博和评论都使用相同的页面参数。因此,如果您想查看任何给定的微博评论的第二页,您也将切换到第二页的微博。我会重新考虑在同一页上显示所有这些信息。
https://stackoverflow.com/questions/9548194
复制相似问题