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 %>
以上です!