0

kaminari用于分页。然后我有 3 个模型,例如UserCommunityUniquecode

我正面临一个问题,其中显示的记录数量在每个参数 [:page] 处有所不同(更改)。

另外,如果我放<% @uniquecode_count %>,它返回'1'......因为有3条相关记录,它必须是'3'。

这真的很奇怪。就我而言。我有相关的 3 条 Uniquecode 记录。
正如我paginates_per 1在 Uniquecode 模型中所做的那样,它应该在每一页只显示 1 条记录。然而结果是

  • 在佩奇。1 它显示 3 条记录
  • 在佩奇。2 它显示 2 条记录
  • 在佩奇。3 它显示 1 条记录

为什么这样做?我从来没有见过Kaminari这样做。

谁能帮我解决这个问题?

我这样定义关联

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

2 回答 2

1

代替

@uniquecodes = @user.uniquecodes.page(params[:page])

经过

@uniquecodes = Kaminari.paginate_array(@user.uniquecodes).page(params[:page])
于 2013-01-24T21:18:19.843 回答
1

也许您应该为您的唯一代码设置默认顺序..?

于 2013-01-24T21:07:01.797 回答