will_paginateをインストールをしたけど、エラーが発生してしまった時の対処方法です。
バージョン
ruby '2.5.3'
rails '~> 5.2.3'
事象
私の場合はRailsチュートリアルの第10章「10.3.3 ページネーション」を進めている際にエラー表示になりました。
gemfile.
source 'https://rubygems.org'
・
・
・
gem 'will_paginate', '3.1.6'
gem 'bootstrap-will_paginate', '1.0.0'
bundle install
をしたのちに、rails server
を再起動させてusers/index.html.erb
に下記のように記載。
<% provide(:title, 'All users') %>
<h1>All users</h1>
<%= will_paginate %> #ページネーションを呼び出す
<ul class="users">
<% @users.each do |user| %>
<li>
<%= gravatar_for user, size: 50 %>
<%= link_to user.name, user %>
</li>
<% end %>
</ul>
<%= will_paginate %> #ページネーションを呼び出す
users_controller.rb
def index
@users = User.paginate(page: params[:page]) # 追加
end
「よし、確認してみよう!」とローカルで/users/
にアクセスしてみると、下記のようなエラーが・・・
おぅぅぅぅ…
解決策
どうやらwill_paginate
のバグがあったようで、バージョンをあげてみることに。
gemfile.
source 'https://rubygems.org'
・
・
・
gem 'will_paginate', '3.1.7' # will_paginateのバージョンをあげた
gem 'bootstrap-will_paginate', '1.0.0'
gem
のバージョンをあげたので、下記のコマンドでアップデート。
$ bundle update will_paginate
これで改めてlocalhost:3000
を開いてみると・・・・表示されたぁぁぁ!!!!!!
ちなみにこの解決方法は、gem
のGitHubページのissue
に記載されていました。
今までQiita
やstackoverflow
しか見ていませんでしたが、githubを見ることも重要なんですね。
勉強になりました!