ピスタチオを食べながらrailsを楽しむ

ピスタチオ大好きな著者のrailsを使ったツール作成の日記です。

rails3.2でkaminariを同一ページに複数使う

kaminariはrailsのgem。超便利でどうやらデファクトスタンダードらしい。

早速使ってみたけど自分としては珍しく特につまずくポイントはなかった。

注意点として同一ページに複数使う場合だけパラメータを分ける必要がある。

 

通常だと

projects_controller.rb


def index
@projects = Project.page(params[:page])
end

app/views/projects/index.html.erb


<%= paginate @projects %>

となる。これを

projects_controller.rb


def index
  @projects = Project.page(params[:projects_page])
end

app/views/projects/index.html.erb


<%= paginate @projects, params_name: 'projects_page')

とする。

ここで重要なのはview側でオプションとしてparams_nameで取った値とcontoroller側でpageメソッドの引数として取るパラメータの値を一致させること。これで複数のkaminariを使っていても個別にページネーションが出来る。