2011年7月28日木曜日

覚書:will_paginate 3.0.pre4一部修正

そろそろRails3を覚える必要がでてきました。

will_paginateを利用した際、:per_pageパラメータを文字列(数字の)で渡したときに

TypeError (String can't be coerced into Fixnum):

なるエラーが発生したので、will_paginateのソースを一部修正しました。
バージョンは 3.0.pre4です。

~/.rvm/gem/ruby-1.9.2-@290@rails3/gems/will_paginate/lib/will_paginate/finder/active_record.rb
の112行目あたり
 options = options.except(:page, :per_page, :total_entries, :count)
  # add 1 line
  per_page = per_page.to_i if per_page # この行を追加
  rel = limit(per_page).page(pagenum)

なぜか:pageパラメータは、文字列が渡っても、数字であればエラーは発生しないみたいです。