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 %>
이것은 렌더링
'코딩(Coding)' 카테고리의 다른 글
Rancher K3s: Proxmox 컨테이너의 Kubernetes (0) | 2022.04.21 |
---|---|
배경 패턴을 구축하여 CSS 방사형 그래디언트 제작하는 방법 (0) | 2022.04.19 |
Python을 사용하여 처음부터 분석 웹 사이트 만드는 방법 (0) | 2022.04.16 |
Swift 5를 사용하여 iOS 앱에서 드리블과 유사한 UITabBar 디자인 만드는 방법 (0) | 2022.04.15 |
온라인 검색 가능한 드롭다운 Flutter 위젯을 구축하는 방법 (0) | 2022.04.14 |