kaminariでページが切り替わらなくて焦った
問題
いきさつ
この下のエントリを参考にやってます。
Gemfileに
gem 'kaminari'
を入れて
% bundle install
を実行した。
そして、index.html.slimに
= page_entries_info @articles / 本文 = paginate @articles
として追加した。
また、
@articles = Article.page(params[:article]).order(created_at: :desc)
しかし、なぜかページが変わらない。
2とかnextを押してもリンクが変わるだけで、次のページに行く気配がない。なんだこれ。
問題の要約
つまり、「リンクが変わるのにページが変わらない」というのが問題である。
解決の道筋
下のエントリをみたのがきっかけ
@articles = Article.page(7).order(created_at: :desc)
で、やってみたらpageが7まで、進んだ。 ふむ。こいつがpageを指定しているのはわかった。 いやまてよ。こいつの数が影響しているのではないか。
試しに、articlesのようにsを追加してやってみたら、全く結果が変わらなかったのだ。
@articles = Article.page(params[:articles]).order(created_at: :desc)
つまり、こいつが機能していないのだと。
解決方法
def index @articles = Article.page(params[:page]).order(created_at: :desc) end
:pageにすることで解決したのだった。私が勝手に変なarticleに変えてしまったのか、、
反省点
これからはこういう風に考えていこう、、
- 本当にそのものをコピーしているのか
- できれば、順番に原因になりそうなとこをコメントアウト
- それでもわからなければ、しらみつぶしにいじくってみる