前言:rails項目常用的分頁插件一般有兩個will_paginate與kaminari,
大部分項目以及老項目使用的是will_paginate,網上也有比較多的資料,
但使用過kaminari後感覺後,性能和兼容性更好。
1.添加gem,然後bundle install
gem 'kaminari'
2.得到結果集後@areas = Area.all.page(params[:page])
<p><%= paginate @areas %></p>
這是最基本的用法。如需閱讀官方文檔請訪問:https://github.com/amatsuda/kaminari
------------------------------------------------------------分割線-----------------------------------------------------------------------
進階使用:自定義主題,不同的列表使用不同的樣式,或者採用ajax分頁
執行以下指令,生成kaminari默認的配置文件
rails generate kaminari:views default
會在views下生成kaminari的文件夾,裏面有7個頁籤對應的文件。
1.使用rails自帶ajax的時候,注意分頁文件中的remote屬性,默認的是remote=>remote,將其改爲remote=>true,
則所有的鏈接頁籤將會添加data-remote=true屬性,這樣點擊分頁的時候,會調用對應方法的js.erb模板,實現局部刷新。
(比will_paginate方便多了,wil_paginate需要在頁面加載時,自行給頁籤添加data-remote屬性,也可能我對will_paginate不精通)
2.使用不同的theme。在生成的views/kaminari文件夾下,
mkdir blue
cp *.html.* blue/
那麼,blue就是一個主題,調用時<p><%= paginate @areas, :theme => 'blue' %></p>
kaminari會自行調用blue下的文件進行分頁。