ransackのエラー

Image from Gyazo ransackをインストール後、ブックマークした投稿一覧画面に、検索機能を付けようとしたところ、このようなno method errorが出てしまいました。


コード確認

boards_controller.rb

 def bookmarks
   @q = Bookmark.ransack(params[:q])
   @bookmark_boards = @q.result(distinct: true).includes(:user).order(created_at: 
   desc).page(params[:page])
 end


bookmarks.html.erb

 <%= search_form_for @q, url: bookmarks_boards_path do |f| %>
    <div class ="input-group mb-3">
    <%= f.search_field :title_or_body_cont, placeholder: "検索ワード", class:"form-control" %>
    <%= f.submit "検索", class:"btn btn-primary" %>
    </div>
 <% end %>

title_or_body_contメソッドが間違えていると思ったが、そうではありませんでした。


原因

before

 def bookmarks
   @q = Bookmark.ransack(params[:q])
   @bookmark_boards = @q.result(distinct: true).includes(:user).order(created_at: 
   desc).page(params[:page])
 end


after

 def bookmarks
   @q = current_user.bookmark_boards.ransack(params[:q])
   @bookmark_boards = @q.result(distinct: true).includes(:user).order(created_at: 
   desc).page(params[:page])
 end

current_user.bookmark_boardsが抜けていたことが原因でした。 これがないと、ユーザーがブックマークした掲示板を取得できませんよね。 初歩的なミスでした。😭