본문 바로가기

코딩(Coding)

Rails에서 페이지 매김을 구현하는 방법

반응형

Rails에서 페이지 매김을 구현하는 방법

 

K 사용aminari Gem

응용 프로그램에는 많은 리소스가 있을 수 있습니다. 모델에 완전한 CRUD 기능이 있으면 지속적으로 성장합니다. 이렇게 하면 해당 리소스의 인덱스 페이지를 탐색하는 것이 매우 번거롭고 사용자 친화적이지 않을 수 있습니다. 끝없는 스크롤을 피하고 정리를 조금 하려면 페이지를 매기는 것이 좋습니다.

웹 응용 프로그램에 관한 페이지 매김은 많은 리소스 그룹이 각 페이지 전체에 균등하게 분포된 설정된 양이 여러 페이지로 분할되는 경우입니다. 일반적으로 맨 아래에는 페이지 수를 표시하고 사용자가 현재 보고 있는 페이지와 리소스 목록의 시작 또는 끝으로 가는 몇 가지 바로 가기를 나타내는 탐색 색인이 있습니다.

페이지 매김의 기본 예

Rails 애플리케이션에서 페이지네이터(Arnold Schwarzenegger 음성을 사용하지 않고는 큰 소리로 말할 수 없음)를 사용하면 이 작업을 매우 쉽게 수행할 수 있습니다. ActiveRecord와 함께 작동하여 컨트롤러 호출에서 리소스를 나누고 페이지당 지정된 양을 할당합니다. kaminari, pagy 또는 will_paginate와 같이 선택할 수 있는 페이지 매김 보석이 많이 있습니다. 이 쓰기를 위해 나는 사용할 것입니다 kaminari 끝없는 색인 페이지를 정리하는 방법을 보여줍니다.

먼저 보석을 배치하여 설치하십시오. gem 'kaminari' 이내에 Gemfile.rb 프로젝트 디렉토리의 다음 실행 bundle. gem을 설치하면 이제 다음을 사용하여 페이지당 표시할 양을 지정할 수 있습니다. paginates_per 내에서 방법 model.rb 파일:

위의 예는 페이지당 25개의 게시물이 있음을 보여줍니다. 다음으로 할 일은 사용자에게 친숙한 URL을 설정하는 것입니다. 에 config/routes.rb 페이지는 다음과 같이 Post의 인덱스 경로 내에 중첩될 수 있습니다.

게시물의 네 번째 페이지에 다음과 같은 경로가 표시됩니다. /posts/page/4. 이 작업을 수행할 필요는 없지만 경로가 대신 다음과 같이 표시됩니다. /posts?page=4. 모든 것이 훌륭하고 RESTful하는 것이 더 낫지 않습니까?

컨트롤러로 이동하여 posts#index:

Kaminari는 리소스를 구성하지 않으므로 각 페이지의 게시물을 알파벳순으로 나열하려면 order Post 모델의 메소드. 사용 page 에서 제공하는 방법 kaminari gem 안에 포함된 숫자에 따라 게시물이 선택됩니다. params[:page].

마지막으로 보기 파일 내에서post.html.erb kaminari에서도 제공하는 이 도우미 메서드를 호출할 수 있습니다.

<%= paginate @posts %>

이것은 렌더링

반응형