Kaminari 在控制器中更改每页的最大值

Kaminari Change Max Per Page in Controller

我想知道是否可以在控制器上设置 max_per_page 值。我有默认设置:

Kaminari.configure do |config|
  config.max_per_page = 100
end

或模型中设置的max_paginates_per

class Test < ActiveRecord::Base
  max_paginates_per 100
end

但在控制器中我想要一个不同的值...例如,对 web 视图使用默认最大值,并为 API 路由使用不同的值。类似于:

Test.page(params[:page]).per(params[:per]).max_per_page(500)

注意我不希望 per 为 500...它可以通过参数配置...我只希望它的最大允许值为 500。

谢谢!

像这样?

Test.page(params[:page]).per([params[:per].to_i, 500].min)

使用提供的参数或 500,以较小者为准。

目前无法完成此操作,但有一个解决此问题的拉取请求:https://github.com/amatsuda/kaminari/pull/736

这现在是 kaminari 的一部分。您的控制器调用将是

Test.page(params[:page]).per(params[:per]).max_paginates_per(500)

https://github.com/kaminari/kaminari/pull/754