acts-as-taggable-on では
Entry.tag_counts
で Entry に付けられているすべてのタグを取得できるが、これに kaminari を組み合わせて
Entry.tag_counts.page(1).per(20).total_count
という風にページングした上で全件数を取得しようとすると
ArgumentError: wrong number of arguments (2 for 0)
というエラーが発生する。
原因は、kaminari が件数を取得するとき count に引数を渡しているけど、 acts-as-taggable-on で引数を受け取らない count を再定義しているため。 引数を受け取らないメソッドに引数を渡していて、エラーが発生してしまっていた。
英語が不自由なので、acts-as-taggable-on が count を再定義している理由は把握できなかったけど、とりあえず
module ActsAsTaggableOn::Taggable module Collection module CalculationMethods def count(column_name=:all, options={}) super end end end end
上記のモンキーパッチで回避した。