Gem을 사용하여 페이지 네이션을 추가하는 방법

2651 단어 pagination번개

페이지네이션이란?





세로로 긴 페이지가 있었을 때, 복수의 페이지로 분할해 표시로 자르도록 하는 것으로, Google 사이트를 예로 하면 맨 아래에 나오는 페이지수입니다.



아래 그림에 참고 이미지 올립니다.







Rails를 사용하여 페이지 네이션을 추가하려면





Gem을 설치하고 페이지 네이션 기능을 쉽게 추가 할 수 있으므로 앞으로 절차를 작성합니다.



추가 절차





①Gemfile에 「gem kaminari」를 기술해, 터미널에서 「bundle install」한다




#一番下の行に記述し保存する
gem 'kaminari'


$ bundle install



②「rails s」로 가상 서버를 시작한다




$ rails s



③ 컨트롤러 파일에 「kaminari」의 전용 메소드를 기술한다




def index
  @tweets = Tweet.page(params[:page]).per(5)
end



위의 코드로 tweet 테이블로부터 index 메소드로 데이터를 취득하여 5건까지는 1페이지째에 그 이후를 2페이지째에 표시하는 내용을 인스턴스 변수(@tweets)에 대입한다.



전용 메소드 해설





page 메서드 : 페이지 네이션에서 페이지 수를 지정하여 뷰에 요청을 보낼 때 "params"에 "page라는 키가 추가"되어 값이됩니다.



per 메소드 : 페이지 당 표시 할 건수의 지정. 인수의 값이 그대로 표시수가 됩니다. (이번에는 5건)



④ 뷰파일을 편집하여 필요한 페이지에 페이지네이트가 표시되도록 한다.




 <%= paginate(@tweets) %>



컨트롤러로부터의 변수 ( @tweets )를 인수로서 주는 것으로 page 메소드와 per 메소드의 인수로부터 데이터가 건네져 페이지네이션이 표시된다.



요약




  • 페이지 네이션이란 1 페이지에 표시하는 건수를 결정해 넣을 수 없을 때는, 다음 페이지에 표시시키는 기능
  • Rails라면 gem을 사용해 간단하게 구현할 수 있다.
  • gem kaminari 전용 메소드가 있다.
  • 좋은 웹페이지 즐겨찾기