ページネーションに使用kaminari
しています。User
次に、 、 、などの 3 つのモデルがCommunity
ありUniquecode
ます。
表示されるレコードの数が各 params[:page] で異なる (変化する) という問題に直面しています。
また、 を入れる<% @uniquecode_count %>
と '1' が返ってきますが・・・関連するレコードが 3 つあるので '3' である必要があります。
これは本当に奇妙です。私の場合。関連する 3 つの Uniquecode レコードがあります。私がUniquecode モデルに
入れたように、各ページに 1 つのレコードのみを表示する必要があります。paginates_per 1
ただし結果は
- ページで。1 3件のレコードを表示
- ページで。2 2 つのレコードを表示します
- ページで。3 1件のレコードを表示
なぜこれを行うのですか?カミナリがこんなことをしているのを見たことがない。
誰でもこれを解決するのを手伝ってもらえますか?
このように関連付けを定義しました
User has_many :communities
User has_many :uniquecodes
Community belongs_to :user
Community has_many :uniquecodes
Uniquecode belongs_to :user
Uniquecode belongs_to :community
ユニークコードモデル
paginates_per 1
コントローラ
@user = User.find(params[:id])
@uniquecodes = @user.uniquecodes.page(params[:page])
@uniquecodes_count = @uniquecodes.count
見る
<%= paginate @uniquecodes, :window => 4 %>
<% @uniquecodes.recent.each do |uniquecode| %>
<%= render 'uniquecodes/uniquecode', :uniquecode => uniquecode %>
<% end %>
<% @uniquecode_count %> => this shows '1'. It has to show '3' though.