読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Rails の kaminari で「◯件中▲〜■件目」みたいなのをビューに直書きしてみた

Rails

(rails2.3.8, ruby1.9.3, MacOSX10.7)

元ネタ

よくわかんなかったから結局自分でごにょごにょ書いてみた

テンプレートをカスタマイズ

% rails g kaminari:views

_paginator.html.erb

<%# The container tag
  - available local variables
    current_page:  a page object for the currently displayed page
    total_pages:   total number of pages
    per_page:      number of items to fetch per page
    remote:        data-remote
    paginator:     the paginator that renders the pagination tags inside
-%>
<%= paginator.render do -%>
  <p>
    <%= prev_page_tag unless current_page.first? %>

    <%= "#{collection.total_count}件中 #{(current_page.to_i - 1) * per_page + 1 }#{collection.total_count.to_i / (current_page.to_i * per_page.to_i) == 0 ? collection.total_count : current_page.to_i *  per_page.to_i }件目" %>

    <%= next_page_tag unless current_page.last? %>
  </p>
<% end -%>

Views

ビューでページネイト使うとこに下記みたいにいれる

:
  <%= render 'kaminari_custom', :collection => @hoge => params[:page] %>
:
_kaminari_custom.html.erb

部分テンプレートを作る

<%= paginate collection, :collection => collection %>

こんな感じでいけた

参考サイト