是否有可能使用will_paginate与GROUP BY?(Is it possible to u

2019-09-22 01:44发布

我有一个庞大的数据库,我想用will_paginate来减少查询响应时间。

我被列试图组我的条目,然后使用will_paginate把成果转化为不同的页面。

我尝试这样做

@list= Persons.find_by_sql(select).group_by {|t| t.gender}
@detail= @list.paginate(:page => params[:page], :per_page => 30)

但它给我这个错误: (undefined method paginate for<Hash:0x3de9930>):

任何人都知道如何解决这个问题呢?

[附加信息]

在will_paginate论坛上有人这样说:

因为你已经加载所有从数据库中的用户才能执行GROUP_BY,我的建议是简单的关于分页和输出他们忘记原样。

这是否意味着没有点同时使用will_paginate使用GROUP_BY?

Answer 1:

@paginated_lists = Persons.find_by_sql(select).paginate(:page => params[:page], :per_page => 30)
@details = @paginated_lists.to_a.group_by { |t| t.gender }

试试这个应该工作,它为我工作:)使用@paginated_lists的分页。



文章来源: Is it possible to use will_paginate with GROUP BY?