参考ー検索機能を付ける(ransack)
検索機能をもっと簡単につけたい!
具体的には、例えば10月1日から10月15日の検索結果を表示。しかも、検索するとき、日時は自分でタイピングせずカレンダーから選ぶことができる。そういった機能をつけたいと考えていて、いろいろと検索していた結果、下記のサイトで教えていただいたのがransackというGem。これは簡単に複雑な検索機能を作れるgemということだったので早速実装。
まず、ベースとしてransackを実装するために参考にさせていただいた記事がこちら
(ransack、キーワード検索、数値の大小での検索、選択で検索)
今回つけたい機能が投稿された日付をもとに検索する機能であったため、created_atを使用して検索したかったので、その部分は下記の記事を参考にさせていただきました。
(created_at、gteq、lteq)
検索した日付に含まれるはずの検索結果がおかしいなと思い、原因を探っていたところ当日で検索した際の時間について設定が甘かったみたい。そちらについて参考にさせていただいた記事がこちら
最後に、ユーザーが日付(例えば、2019/10/01)を入力する際に手入力ではなく、カレンダーで日にちを選択できる機能を付けるために参考にさせていただいた記事がこちら
(bootstrap3-datetimepicker-rails、momentjs-rails、moment/ja.js)
【終わりに】
ransackはとても簡単に検索機能を付けることができると実感。また、カレンダー入力もかなり楽にセットできました。