Rails,点击“2”号(分页)或其他页面后,分页偏移不起作用

Rails, Pagination offset not working, after clicking on '2' number(pagination) or other's page's

我正在尝试在分页中传递偏移量。

  params[:page] = 1 if params[:page].nil?
  @pagination_count = (params[:pagination_count].present?) ? params[:pagination_count] : 50
  offset = ''
  if params[:page] != 1 
    offset = "limit 50 offset #{(params[:page].to_i - 1) * 50}"
  else
    offset = "limit 50"
  end
 posts_count =  ActiveRecord::Base.connection.execute(query + ' where ' + query2 + query1).count 
 @posts =  ActiveRecord::Base.connection.execute(query + ' where ' + query2 + query1 + offset).to_a.paginate(page: params[:page], per_page: 50, total_entries: posts_count) 

但是,点击第 2 页(页码)不起作用,查看了第 2 页,但未获取数据。 第一页数据显示。

您正在使用自己的自制分页(偏移量)和 gem 分页。您的查询 returns 50 条记录(第 2 页上的正确记录)然后分页 gem 尝试从这 50 条中 select 第 2 页。当然,第 2 页没有帖子在这种情况下是页面,因为所有 50 个都在第一页上。

只使用一种分页解决方案。仅自制程序(限制 + 手动完成的偏移量,删除 .paginate)或仅 gem(删除您的偏移量查询,仅使用 .paginate