LoginSignup
0
0

More than 3 years have passed since last update.

collection_check_boxesの作り方

Last updated at Posted at 2019-12-13

hamlを使ってransackとcollection_check_boxesを使った検索機能を実装しました。
その際属性付けなどに苦労したので記事にします。

complex-search.haml
  = s.collection_check_boxes :status_in, @statuses, :first, :second do |b|
    .search-box-left
        = b.check_box
         = b.label  { b.text }

それぞれのコードを分解して説明

= b.check_box

= b.check_boxで以下のようなチェックボックスを画面上に表示
スクリーンショット 2019-12-13 10.52.25.png

= b.label  { b.text }

チェックボックスの横にラベル化された文字を表示させる
スクリーンショット 2019-12-13 10.57.37.png

この文字がどこから引っ張り出されているかというと・・

exhibits_controller.rb
@statuses = [["", "すべて"],["新品", "新品・未使用"],["未使用に近い"," 未使用に近い"],["目立った傷や汚れ無し","目立った傷や汚れ無し"],["やや傷や汚れあり","やや傷や汚れあり"],["傷や汚れあり","傷や汚れあり"],["全体的に状態が悪い","全体的に状態が悪い"]]

配列内の第二引数の文字列が実際に画面に表示される文字で第一引数がDB内の検索用に使う値

自分でcollection_check_boxesを作った際にラベルの付け方やクラス付けに苦労しました。
この記事もそんな方々の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0