development > Ruby On Rails > kaminariでRailsアプリにページ送りを実装する
Ruby On Rails

kaminariでRailsアプリにページ送りを実装する

Large?1464654734

kaminariはページ送りを簡単に実装するためのgemです。

インストールする

まずはGemfileに

gem 'kaminari'

を追加し、bundle installします。次に、

$ bundle exec rails g kaminari:config

を実行してinitializerを作っておきましょう。中身は

Kaminari.configure do |config|
  # config.default_per_page = 25
  # config.max_per_page = nil
  # config.window = 4
  # config.outer_window = 0
  # config.left = 0
  # config.right = 0
  # config.page_method_name = :page
  # config.param_name = :page
end

の様になっていると思います。これを必要に応じて設定していきます。この設定はデフォルト設定なので、個別にcontrollerやviewやmodelでも数値は変更できます。

テンプレートを追加する

kaminariにはbootstrapやfoundationなどいくつかのデザインテンプレートが用意されています。例えば

$ bundle exec rails g kaminari:views bootstrap3

とすればbootstrap3用のviewファイルがapp/views/kaminari/配下にダウンロードされます。テンプレートの種類については

で確認できます。

controller/viewで適用させる

適用させたいコントローラーのアクションで以下の様に設定します。例えば記事一覧ページ(articles#index)であれば、

def index
  @articles = Article.page(params[:page]).per(20)
end

の様に書いておくと、20項目ごとにページ送りがされるようになります。あとはview側で

= paginate @articles

の様に書いておくと、この場所にページ送りが表示されます。

Small?1464654734

この記事が気に入ったらいいね!して
9bar の最新記事を受け取りましょう

Thumb?1464654734

9bar の最新記事をお届けします!

新着記事