RubyOnRails 7) Pagination 페이지 나누기
참고 :
https://steemit.com/ruby/@kbs4674/ruby-on-rails-gem-kaminari
게시글들을 한 번에 쭉 나열하는 것이 아닌 페이지를 나눠서 보여주는 방법을 알아보고자 한다.
먼저 Kaminari 라는 젬을 사용할 것인데 gemfile에 해당 gem을 추가하고 설치해준다.
1 2 | gem 'kaminari' $ bundle | cs |
그 다음, 페이지를 나눌 컨트롤러에 가서 다음의 코드를 추가해준다.
1 2 3 4 5 6 7 8 | /app/controllers/posts_controller.rb def index ... @posts = Post.order("created_at DESC").page(params[:page]).per(10) @page = (params[:page]).to_i ... end | cs |
참고로, 페이지가 나눠져 있는지 확인하기 위해 다음의 코드를 추가한뒤 확인해본다.
1 2 3 4 5 | /db/seeds.rb (1..100).each do |i| Post.create(title:"#{i}번째", content:"#{i}번째", user_id:1, category:1) end $ | cs |
1 | $ rake db:seed |
그 다음, view 파일을 수정해준다.
1 2 3 4 5 6 | /app/views/posts/index.html.erb ... <%= page_entries_info @posts %> <%= paginate @posts %> ... | cs |
추가로, rails g kaminari:config 하면 초기화 폴더에 pagination의 기본 설정이 나와있음.
페이지 나누는 개수 얼마든지 바꿀 수 있음!
window는 내 현재 기준에서 몇개 보여지는 지 설정 가능!
outer_window도 보여주기 가능!
처음, 다음, 이전, 끝과 같은 키워드 바꿀 수 있음.
locales에서 en.yml의 맨 밑에서 커스터마이징 할 수 있다!(githuccode b에 나와있음)
'Archived(Programming) > Ruby on Rails(기초)' 카테고리의 다른 글
RubyOnRails 8) Impressionist 조회수 구현 (0) | 2018.12.30 |
---|---|
RubyOnRails 언어 설정 (0) | 2018.12.30 |
RubyOnRails 6) Carrierwave 이미지 첨부 기능 (0) | 2018.12.28 |
RubyOnRails 5) Like 좋아요 기능 (0) | 2018.12.28 |
RubyOnRails 4) Search 검색하기 (0) | 2018.12.27 |