如何在视图中获取模型的per_page编号?

时间:2013-06-30 14:27:20

标签: ruby-on-rails kaminari

Kaminari中页面的项目数由以下内容定义:

  1. 在模型中定义per_page成员,或
  2. 在config中定义default_per_page。
  3. 我的问题是,如何获取该数量的项目?

    更新

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

    <th>#</th>
    

    以下几栏:

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

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

    1)如果我将some_ruby_code替换为Sale.per_page,则在我决定删除per_page时会抛出错误。

    2)如果我将some_ruby_code替换为Kaminari.config.default_per_page,则在模型中添加per_page时,它将无法显示正确的值。

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

    谢谢!

5 个答案:

答案 0 :(得分:4)

答案 1 :(得分: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

答案 2 :(得分:1)

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

如果是这样,你可以使用

<%= page_entries_info @items %>

在github上阅读此文档:

https://github.com/amatsuda/kaminari

答案 3 :(得分:0)

假设您确实在视图中呈现了该页面的项目,这应该有效:

@items.length

答案 4 :(得分:-1)

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