我正在使用kaminari
进行分页。然后我有 3 种模型,例如 User
、Community
和 Uniquecode
。
我面临着一个问题,其中显示的记录数量在每个参数[:p年龄]上变化(变化)。
另外,如果我输入<% @uniquecode_count %>
,它会返回"1"...由于有 3 条相关记录,因此它必须是"3"。
这真的很奇怪。 就我而言。我有相关的 3 条唯一代码记录。
正如我确实在 Uniquecode 模型中放置paginates_per 1
一样,它应该在每页上只显示 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.
也许你应该为你的唯一代码设置一个默认顺序..?
替换
@uniquecodes = @user.uniquecodes.page(params[:page])
由
@uniquecodes = Kaminari.paginate_array(@user.uniquecodes).page(params[:page])