Joh*_*wel 5 ruby-on-rails will-paginate
我有一个庞大的数据库,我想通过使用will_paginate来减少查询响应时间.
我试图按列对我的条目进行分组,然后使用will_paginate将结果放入不同的页面.
我试着这样做
@list= Persons.find_by_sql(select).group_by {|t| t.gender}
@detail= @list.paginate(:page => params[:page], :per_page => 30)
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:(undefined method paginate for<Hash:0x3de9930>):
有谁知道如何解决这个问题?
[附加信息]
will_paginate论坛上有人说:
因为您必须从数据库加载所有用户才能执行group_by,我的建议只是忘记分页并按原样输出它们.
这是否意味着在使用will_paginate时没有必要使用GROUP_BY?
@paginated_lists = Persons.find_by_sql(select).paginate(:page => params[:page], :per_page => 30)
@details = @paginated_lists.to_a.group_by { |t| t.gender }
Run Code Online (Sandbox Code Playgroud)
试试这个,它应该可以工作,它对我有用:)使用@pagination_lists进行分页。