如何解决单击“ 2”号分页或其他页面后,Rails,分页偏移量不起作用
我正在尝试通过分页传递偏移量。
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页,但是没有得到数据。 在第一页上显示数据。
解决方法
您同时使用自己的自制分页(偏移)和宝石进行分页。您的查询返回50条记录(第二页上正确的记录),然后分页gem尝试从这50条记录中选择第二页。当然,在这种情况下,第二页上没有帖子,因为所有50条都在第一页上
仅使用一种溶液进行分页。仅自制(限制和您手动完成的偏移量,删除.paginate
)或宝石(删除偏移量查询,仅使用.paginate
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。