Kaminari
がこの記事を読んでRails3でうまく機能することを理解しています: Rails 3のページ付け、will_paginateとKaminari ですが、Rails4ではどうでしょうか。また、Bootstrap3でそれらをスタイリングする場合、どのgemがより簡単な解決策ですか?
私の経験では、Kaminari
とWill Paginate
の間にほとんど違いはありません。これは主に、どちらを使用するかについての個人的な選択です(Paperclip
/Carrierwave
やMac / Windows
)
互換性の観点から、両方のgemはRails 4でネイティブに動作します
ブートストラップ
Bootstrapに関して、あなたは間違った質問をしていると思います
ブートストラップは CSSフレームワーク であり、アプリのバックエンド機能とは関係ありません。
結論としては、コントローラーからページネーションメソッドを呼び出す必要があるため、システムの違いは表面的なものにすぎません。 Bootstrapを使用してそれらをスタイル化する場合は、どちらのgemでも同じことを行う必要があります
だから選択はあなた次第です!
Twitter bootstrap Kaminari
によるページ付けを実装するのは非常に簡単です。以下の手順に従ってください。
gem 'kaminari'
をGemFile
に追加します。 bundle install
を実行し、Railsサーバーを再起動しますbootstrap3
テーマが必要ですRails g kaminari:views bootstrap3
を実行しますそれでおしまい。
KaminariはRails 4.1.5
生成されたBootstrapテーマの カミナリ のコードを1行変更することで、Bootstrap 3で動作させることができます。
InViews/Kaminari/_paginator.html.erb
この行を変更します:<div class="pagination"><ul>
これに:<ul class="pagination pagination-lg">
..そしてdivを取り除きます。上記のulを使用するだけです-私にとっては問題なく動作します。
パーシャル全体のコードは次のとおりです。
<%= paginator.render do %>
<ul class="pagination pagination-lg">
<%= first_page_tag unless current_page.first? %>
<%= prev_page_tag unless current_page.first? %>
<% each_page do |page| %>
<% if page.left_outer? || page.right_outer? || page.inside_window? %>
<%= page_tag page %>
<% elsif !page.was_truncated? %>
<%= gap_tag %>
<% end %>
<% end %>
<%= next_page_tag unless current_page.last? %>
<%= last_page_tag unless current_page.last? %>
</ul>
<% end %>