轨道加载我的@items n*n次



我正在创建一个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...,请参阅此处的将分页指南

最新更新