帮助解释will_paginate docs?

时间:2009-07-04 20:28:39

标签: ruby-on-rails ruby will-paginate

尝试了解will_paginate paginate方法的选项:

:page — REQUIRED, but defaults to 1 if false or nil
:per_page — defaults to CurrentModel.per_page (which is 30 if not overridden)
:total_entries — use only if you manually count total entries
:count — additional options that are passed on to count
:finder — name of the ActiveRecord finder used (default: “find”)

pageper_pagefinder非常简单。

total_entriescount - 不明白“仅在您手动计算条目时使用?”他们是否设想了您运行单独计数查询的方案,然后将结果作为选项传递给paginate?你会这样做的情况是什么?

“传递给计数的其他选项” - 有哪些可用选项? “传递”到???

count方法

2 个答案:

答案 0 :(得分:6)

默认情况下,will_paginate使用count(来自ActiveRecord::Calculations)来计算您正在翻阅的对象总数。但是如果你知道的更好,或者直接计数不起作用,你可以自己计算并提供:total_entries。

:count参数用于ActiveRecord :: Calculations#count方法的额外参数,如:distinct。您可以查看完整列表的文档。

答案 1 :(得分:0)

如果要在同一列表中对不同模型进行分页,或者要执行复杂查询,则可以使用total_entries和count参数。只要你不需要它,不要担心它。当您遇到问题时似乎无法解决,请回来查看。