0
私はKaminari gemを使用してAPIにページを設定しています。 、APIでKaminariでper(n)メソッドを渡す値を取得する
def index
@my_models = MyModel.ordered_by_date
.page(params[:page])
.per(params[:count])
end
私はこのようなクライアントのためのいくつかの改ページのリンクを入れている:私はこのような私のコレクションを作成してい
json.current_page my_models_url(
page: @my_models.current_page,
count: @my_models.size
)
if [email protected]_models.last_page?
json.next_page my_models_url(
page: @my_models.next_page,
count: @my_models.size
)
end
if [email protected]_models.first_page?
json.prev_page my_models_url(
page: @my_models.prev_page,
count: @my_models.size
)
end
ここでの問題は、それが最後のページにあります、 @my_models.size
は、1ページあたりのレコード数に対して正しい結果を返しません。たとえば、17
個のレコードがあり、ページサイズが5
で、ページ4
に行くと、ページングURLのカウントパラメータは2
になります。ここでは、5
になります。
私は、かみなしコレクションのために.per(n)
で渡された値を取得する簡単な方法があるのでしょうか?これの代わりにこれを使用するといいです:
params[:count] || MyModel.default_per_page