ransackでラベル検索をチェックボックス検索にしたい


Ransackを使ったラベル(label)検索をどうしてもチェックボックス(check_box)で実装したいことがあったのでメモ

ラベル機能がある状態からスタート!!!
※ラベル機能の作成まではこの記事で完結できます↓
【gemなし】Railsでラベル機能を作る

gemのransackをインストール

rb.Gemfile
gem 'ransack'
$ bundle install
posts_controller.rb
  def index
    @search = Post.ransack(params[:q])
    @posts = @search.result(distinct: true)
  end


  private
    def post_params
      params.require(:post).permit(:title, :details, label_ids: [] )
    end
view.posts.index.html.erb
<%= search_form_for @search do |f| %>
  <% Label.all.each do |label| %>
    <%= f.check_box :labels_id_eq_any, { multiple: true, checked: label[:checked], disabled: label[:disabled], include_hidden: false }, label[:id] %>
    <label><%= label.title %></label>
  <% end %>
  <%= f.submit "検索" %>
<% end %>

以上です!

参考記事
https://www.tom08.net/entry/2016/11/11/144813