我只是想知道在我调用sort_by total_like方法之后,通过降序在我的自定义方法轨道中进行偏移限制和排序。 这是我在模型中的自定义方法
class Post < ApplicationRecord
def total_like
self.likeposts.count
end
... more code ...
这是脚本,当我试图通过降序
调用total_like排序的帖子时 if POST==@current_entity
@entities=[]
@entity.where(paramshash).sort_by(&:total_like).reverse!.each.with_index do |entity, index|
if index >= params[:offset].to_i && index <= params[:offset].to_i + params[:limit].to_i
@entities << entity
end
end
render json: @entities
任何人都可以简单地完成它并且不需要调用我Post表中的所有记录:(
答案 0 :(得分:3)
我觉得这样的事情可能有用:
Post
.joins(:likeposts)
.group('posts.id')
.order('COUNT(likeposts.id) DESC')
.offset(params[:offset])
.limit(params[:limit])