kaminariでページが切り替わらなくて焦った

問題

いきさつ

この下のエントリを参考にやってます。

kaminari徹底入門

Gemfileに

gem 'kaminari'

を入れて

% bundle install

を実行した。

そして、index.html.slimに

= page_entries_info @articles

/ 本文

= paginate @articles

として追加した。

また、

@articles = Article.page(params[:article]).order(created_at: :desc)

しかし、なぜかページが変わらない。

f:id:kapiba-ra:20180528162902p:plain

2とかnextを押してもリンクが変わるだけで、次のページに行く気配がない。なんだこれ。

問題の要約

つまり、「リンクが変わるのにページが変わらない」というのが問題である。

解決の道筋

下のエントリをみたのがきっかけ

KaminariをSlimで使用した際のメモ

@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に変えてしまったのか、、

反省点

これからはこういう風に考えていこう、、

  • 本当にそのものをコピーしているのか
  • できれば、順番に原因になりそうなとこをコメントアウト
  • それでもわからなければ、しらみつぶしにいじくってみる