2

User、Community、Uniquecode の 3 つのモデルがあります。
次にkaminari、ページネーションに使用しています。

各 params[:page] で uniquecode レコードの数が異なる (変化する) という問題に直面しています。

さらに、 '1' を<% @uniquecode_count %>返します... '1' である必要があります。

これは本当に奇妙です。私の場合。私は3つのユニークコードを持っていました。私が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.
4

1 に答える 1

0
PER_PAGE = 1 # declared as class constant
@uniquecodes = @user.uniquecodes.page(params[:page], :per_page => PER_PAGE)

per_page を渡す

于 2013-01-24T14:21:35.080 に答える