我想知道是否可以在控制器上设置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.
谢谢!
答案 0 :(得分:0)
喜欢这样吗?
Test.page(params[:page]).per([params[:per].to_i, 500].min)
使用提供的参数或500,取其中的较小者。
答案 1 :(得分:0)
目前无法做到这一点,但有解决此问题的拉取请求:https://github.com/amatsuda/kaminari/pull/736
答案 2 :(得分:0)
现在是kaminari的一部分。您的控制器呼叫将是
Test.page(params [:page])。per(params [:per])。max_paginates_per(500)