我正在创建一个rails web应用程序,它基本上只是聚合用户帖子列表,并允许他们投票和评论。
我正在按照 Railscast 114 - 无尽滚动来实现无尽滚动帖子,尽管我遇到了一个问题,但我不确定它是否与无休止的滚动有关,或者只是同时发生。
我正在使用will_paginate宝石。当页面加载时,它会加载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>
感觉很简单,但我就是找不到。任何关于去哪里看的建议将不胜感激
从我的评论中:更改
<div id='items'>
<%= render @items %>
</div>
自
<div id='items'>
<%= render 'item' %>
</div>
以前的版本为集合中的每个对象渲染item
部分@items
(您再次迭代每个元素),这就是您获得 n*n 项的原因。
我认为应该是
Item.paginate...
不是Item.order
...,请参阅此处的将分页指南