2012-04-12 3 views
0

그래서 나는 객체 ID 배열 (이 경우 '사용자')을 반환하는 검색 컨트롤러를 가지고 있습니다.페이지 매김시에 객체를 가져 오는 것이 아니라 미리 가져 오는 것이 좋습니까? (Rails + Kaminari)

검색 결과 배열에 수백 개의 ID가 포함될 수 있으므로 뷰에 보낼 필요가있을 때만 실제 개체를 가져오고 싶습니다. 간단히 말해, 뷰 로직이 객체를 가져 오지 않고 각 ID 묶음 (예 : 1.10, 11..20 등)에 대해 객체 자체를 미리 가져 오려면 페이지 매김을 사용하고 싶습니다. 나는 이것을 어떻게 성취 할 것인지 잘 모른다.

내 컨트롤러 코드

users = [1,3,456,23423,234,23...] 
#somehow have the pagination get the Objects from DB for each page 
@persons = Kaminari.paginate_array(users).page(params[:page]).per(10) 

보기

- @persons.each do |person| #I WANT TO HAVE THE FULL WRITER OBJECT BY NOW 
    = person.name    # instead of doing a 'User.find(person.id)' in the view 

어떤 아이디어가?

미리 감사드립니다.

답변

0

URL에 페이지 번호 매개 변수를 넣으십시오. 그런 다음 페이지 당 10을 표시하고 사용자가 3 페이지를 클릭한다고 말하면 1 페이지 (10) 씩 페이지 수를 뺀 다음 21을주는 페이지 수를 더하십시오. 이것은 데이터베이스 쿼리의 시작입니다. 결과 10 개로 제한

0

나는 바보입니다. @persons 배열을 기반으로 새 배열을 매핑하거나 수집 할 수 있습니다.

관련 문제