初心者向け : Railsログイン機能をつけてQAサイトを作る 6 -検索機能-

初心者向け : Railsログイン機能をつけてQAサイトを作る 6 -検索機能-

初心者向け : Railsログイン機能をつけてQAサイトを作る 1 -ログイン機能+質問機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 2 -Bootstrap+UI修正-
初心者向け : Railsログイン機能をつけてQAサイトを作る 3 -回答機能+リアクション機能+ベストアンサー機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 4 -タグ付け機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 5 -管理画面機能-
初心者向け : Railsログイン機能をつけてQAサイトを作る 6 -検索機能-

今回は質問を検索する機能を作成します

検索機能はransackというgemを利用して作成します

Gemfileにこちらを追加します

追加後はターミナルでこちらを実行

 

次はQuestionのタイトルを検索することができるように
questions_controller.rbのindexアクションをこのように修正します

最後にviews/questions/index.html.erbをこのように修正して完了です

 

「回答者」としてログインして検索できるか試してみます
先程追加した検索フォームが表示されているので、「動物」で検索します

「検索ボタン」を押すと
「動物」に該当する質問のみが表示されました

 

ちなみに今回は「title_cont」を設定しましたが、以下のように使い分けることで
様々な検索機能を実装できるようです

 

title_eq titleが完全一致しているレコードのみ表示
title_cont titleが部分一致しているレコードのみ表示
title_not_cont titleが部分一致していないレコードのみ表示

 

最後の「title_not_cont」でコード実装してみます

views/questions/index.html.erbの検索部分を修正

 

「動物」で検索をかけた結果「動物」以外が表示されます

 

参考記事

Railsアプリに簡単に検索フォームを実装する方法とは?

railsで検索するならRansack!!!!!!!!!!!!

 

Railsカテゴリの最新記事