5

Kaminari 中页面的项目数定义为:

  1. 在模型中定义 per_page 成员,或
  2. 在配置中定义 default_per_page。

我的问题是,如何获得该数量的项目?

更新

请原谅我不清楚。我想要展示的是每页中项目的顺序。我有一个表头:

<th>#</th>

以及下面的几列:

<td><%= (@sales.current_page - 1) * some_ruby_code + index + 1 %></td>

我的问题是some_ruby_code应该是什么?

1)如果我用 替换some_ruby_codeSale.per_page当我决定删除时会抛出错误per_page

2)如果我用 替换some_ruby_code,当我添加模型Kaminari.config.default_per_page时它不会显示正确的值。per_page

我想知道 Kaminari 中是否有一种方法可以检测 的存在per_page,如果存在则返回其值,Kaminari.config.default_per_page否则。

谢谢!

4

5 回答 5

4

您可以使用Sale.default_per_page.

https://github.com/kaminari/kaminari/blob/1-0-stable/kaminari-core/lib/kaminari/models/configuration_methods.rb#L16

于 2017-12-11T10:58:24.267 回答
3

您可以为此使用 ActiveRecord 的limit_value方法,因为 Kaminari 在内部使用限制和偏移量。

User.all.limit(10).limit_value
=> 10

与 kaminari 相同:

User.page(3).per(10).limit_value
=> 10

User.page(3).per(10).offset_value
=> 20
于 2015-06-22T21:08:23.737 回答
1

我想,你想显示总数中可见的项目数,

如果是这样,您可以使用

<%= page_entries_info @items %>

在 github 上阅读此文档:

https://github.com/amatsuda/kaminari

于 2013-06-30T17:21:36.033 回答
0

假设您实际上在视图中呈现了该页面的项目,这应该可以工作:

@items.length

于 2013-06-30T15:54:38.507 回答
-1

current_per_page返回给定的分页记录列表。

于 2019-03-24T12:18:42.993 回答