2010-03-23 1 views
3

의 전 요소의 목록을 가지고 있고,에 ... "더로드"나는 지금까지 will_paginate를 사용하고 있지만, 내가 좋아하는 뭔가를하고 싶습니다 목록 하단. will_paginate을 사용하여이 작업을 수행하는 쉬운 방법이 있습니까? 아니면 다른 방법을 사용해야합니까? 그때 나는 기록의 SQL 카운트를하지 않아도 어쨌든 때문에 더 나은 경로를 알고 무엇에서레일 "로드 더 ..."대신 매김

. 그리고 실제로 9,847 페이지가 있다면 문제가되지 않습니다. 아무도 처음 몇 페이지를 넘어서서 레코드를 필요로합니다.

답변

5

Twitter 또는 Brightkite이 "더 많은로드"버튼 (자바 스크립트 측면)을 구현하는 방법을 살펴보십시오. 레일 앱에는 일종의 페이지 매김 메커니즘이 필요합니다. 아마도 will_paginate처럼 복잡 할 필요는 없습니다. 컨트롤러에서이 같은 아마 뭔가 : 당신은 적절한 "페이지"번호를 다시 전달하고 그것을 부하 더 버튼을 때마다 증가해야해야합니다 이상의 레코드를 얻기 위해 당신의 AJAX 호출에서 다음

# where 10 is the number of records per page 
Record.find(:all, :conditions => {:offset => params[:page] * 10, :limit => 10}) 

눌렀다.

+0

와우, 이거 정말 굉장합니다. 얼마나 간단하고 가벼운. –

4

시계이 screencast 당신의 문제에 대한 솔루션을 구현하는 방법에 대한 자세한 내용은 endless page을했다.