2

コントローラーに、Kaminari によってページ付けされたオブジェクトの配列があります。

@pics = Pic.page(params[:page]).per(12).order(sort_column)

手動の無限スクロール効果のために、AJAX 要求を使用して同じページに 12 個の写真の新しいセットをそれぞれレンダリングします。このビットは、オブジェクト内の属性sort_columnに従って写真を並べ替えます。most_viewed

私の問題-同じmost_viewed属性を持つ写真が多数ある場合、つまり、most_viewed値として「20」の画像が10枚ある場合、AJAXリクエストで新しい12枚のセットが明らかになると、オブジェクトが繰り返されます。

これが私が何を意味するかの例です...「もっと読み込む」をクリックしました(デモンストレーションのために残しました)、新しいバッチが読み込まれるときに繰り返されるオブジェクトがあります。

カミナリの繰り返しオブジェクト

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

4

カウントと別の列で注文する必要があります(idこれが最適です)。このようにして、SQLは変更されないリストを返します(現在、SQLはXレコードのカウントが同じ場合に何をすべきかわからないため)。

に変更できます。動作.order(sort_column)する.order("#{sort_column} ASC, id ASC")はずです。

于 2013-08-03T18:13:10.740 に答える