掲示板の検索機能を実装
Gemfileに追記
gem 'ransack'
bundle installする
コントローラーへ検索機能を追加する
def index
@q = Board.ransack(params[:q])
@boards = @q.result(distinct: true).includes(:user).order(created_at: :desc)
.page(params[:page])
end
ビューに検索フォームを追加する
<%= search_form_for @q, class: 'mb-5' do |f| %>
<div class="input-group mb-3">
<%= f.search_field :title_or_body_cont, class:'form-contro'%>
<div class="input-group-append">
<%= f.submit '検索', class:'btn btn-primary'%>
</div>
</div>
<% end%>
f.search_fieldの:title_or_body_contを変更することで検索する内容を変更できる
(例 :title_cont, :body_cont)
パーシャルを使用する場合
<%= search_form_for q, url: url do |f|%>
renderする
<%= render 'ファイル名', q: @q, url: boards_path %>