我正在创建一个rails web应用程序,它基本上只聚合用户帖子列表,并允许他们投票和评论。
我按照Railscast 114 - Endless Scrolling实现了无休止的滚动 发帖,虽然我遇到了一个问题,我不确定它是否与无休止的滚动有关,或者只是在同一时间发生。
我正在使用will_paginate gem。当页面加载时,它会在will_paginate调用中加载“n”个帖子,但这些帖子会显示n次。
例如:
@item.order(params[:sort]).page(params[:page]).per_page(3)
会导致显示以下内容
item1
item2
item3
item1
item2
item3
item1
item2
item3
我的索引操作中有以下内容
@items = Item.order(sort_column + ' ' + sort_direction).page(params[:page]).per_page(5)
这是我的_item部分
<% @items.each do |t| %>
<div id="Post1" class="shadow">
<table>
<tr>
<td>
t.stuff....
</td>
</tr>
</table>
</div>
这是我的索引中的渲染调用
<div id='items'>
<%= render @items %>
</div>
感觉就像它的简单,但我找不到它。关于在哪里寻找的任何建议都将非常感激
答案 0 :(得分:1)
从我的评论:改变
<div id='items'>
<%= render @items %>
</div>
到
<div id='items'>
<%= render 'item' %>
</div>
以前的版本为item
集合中的每个对象呈现@items
部分(你在每个元素上再次迭代),这就是你获得n * n个项目的原因。
答案 1 :(得分:0)
我认为应该是
Item.paginate...
而非Item.order
...,请参阅遗嘱分页指南here