困っていること
kaminariを使用してpage_entries_infoで「○件中○件を表示」を使用したいのですが、NoMethodErrorがでます。
すでに同じページ内にてpaginateを使用できており、新たにpage_entries_infoの追加をする形なので、メッソッドが無いと返されてるのが疑問です。
該当ソースコード
users_controller.rb
def show @user = User.find(params[:id]) @user.id == current_user.id @entries = current_user.entries.order(created_at: 'desc').kaminari_page(params[:page]).per(10) @room = Room.new @entry = Entry.new end
show.html.erb内
<div class="col-md-9"> <h2 class="user-h2">あなたの質問(<%= @user.entries.count %>)</h2> <hr class="user-hr"> <div class="user-scroll"> <% if @user.entries.empty? %> <h3 class="nil-text">あなたへの質問はありません。</h3> <%= page_entries_info @entries %> ←追加したいと思っています <% else %> <% @entries.each do |entries| %> <div class="box26"> <%= page_entries_info @entries %> <span class="box_title">No.<%= entries.room.id%> <small class="box_small"> <%= entries.created_at.strftime('%m月%d日') %>に投稿</small></span> <p><a class="title-text" href="/rooms/<%= entries.room.id %>"><span class="main-span">Q</span>. <%= entries.room.name %></a></p> <% if entries.room.explain.present? %> <span class="box_explain">質問内容:<%= entries.room.explain %></span> <% else %> <span class="box_explain2">質問内容は記載されていません。</span> <% end %> </div> <hr> <% end %> </div> <% end %> <div class = "exit-btn"> <%= paginate @entries %> ←正常に動作します </div> </div> <% end %> . . .
エラー内容
まとめ
paginate自体はごく普通にエラーなく使用できています。
page_entries_infoではエラーが起きます。
@user.entries.countが競合してエラーを起こしているのかと思い修正してみましたが、うまくいきませんでした。
質問投稿後に修正してみた点
users_controller.rb
@entries = current_user.entries.order(created_at: 'desc').kaminari_page(params[:page]).per(10)
と設定していたので、
show.html.erb内も
<%= kaminari_page_entries_info @entries %>
としてみましが、うまく動作しませんでした。
現在、以下のようにしています。
config/intializers/kaminari.rb
Kaminari.configure do |config| #config.page_method_name = :per_page_kaminari config.page_method_name = :kaminari_page end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。