ニーズが多様で具体的すぎるため、独自のページネーション コードを使用する必要があります。このスニペットをコピーして、多くのコントローラー アクションに貼り付けました。
per_page = params[:per_page] ? params[:per_page].to_i : 15
page_num = params[:page] ? params[:page].to_i : 1
to_skip = ( page_num - 1 ) * (per_page)
max_index = per_page * page_num
これをすればするほど、私は愚かに感じます。これをより適切に行う方法があると確信していますが、その方法はわかりません。
ボーナス(これに対して賞金を授与できますか?)->必要に応じて、モデルでCOMPUTEDパラメーターを使用できるようにしたいと思います
例:
# frontend requests for items 15-30
def controller_action
# code as above
# Item.get (...)
end
# and in the model have access to these params
def get
# use per_page, to_skip
end