데이터베이스가 커서 will_paginate를 사용하여 쿼리 응답 시간을 줄이고 싶습니다.GROUP BY와 함께 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>):
누구든지이 문제를 해결하는 방법을 알고 있습니까?
Because you already have to load all the users from the database in order to perform the group_by, my suggestion is simply to forget about pagination and output them as-is.
그것이 will_paginate를 사용하는 동안 GROUP_BY를 사용하는 아무 소용이없는 뜻 :
[추가 정보]를 will_paginate 포럼
사람이 말한다?
[다음은 will_paginate로 해시 객체를 페이지 매김하는 방법입니다.] (http://stackoverflow.com/q/4280660/1013138), 단지 FYI. –
'find_by_sql' 메쏘드가 AR 객체보다는 해시를 반환하는 쿼리의 원인 인 것처럼 보입니다. 'select' 변수에 전달하는 조건에 따라,'paginate' 메쏘드를 사용할 수 있도록 코드를 변경하여 AR 객체를 생성 할 수 있습니다. 액티브 레코드 쿼리에 대한 가이드를 참조하십시오 : http://guides.rubyonrails.org/active_record_querying.html – jordanandree
@naliwajek 링크 덕분에, 그것은 매우 도움이됩니다! –