【Rails】検索機能をつける
今日のゴールは、
↓検索機能を作ります!!!!!!!!!!
Step1 index.html.erbの変更
まずviewフォルダを変更していきます!
検索機能を付けたい!と思っているindex.html.erbを開けて、
以下のように記述します。
私の場合は
app/views/books/index.html.erbに以下のコードを付け加えます。
↑インデントがうまくいかなかったので各自で調整してください。
今から1つずつ説明していきます。
2行目にあるこのコードでフォームタグを作っています。
といった感じに記入していきます。
↑のコードを参考にして自分用に書き換えて見てください!
さあこのコードはどんな役割をしているのでしょうか?
このコード抜いて「rails s」をしてみます。
ああああああ。
なんと入力フォームが消えてしまいました。
このコードは入力フォームを実装していたのですね。
再度このコードを入れて、railsアプリを起動してみます。
良かった!現れました!👏
最後のこのコードは、「検索」するボタンを実装しています。
これで見た目は完成しました!
ただこれで終わってはいけません。
見た目を作っただけですから、、、。
Step2 コントローラの変更
私の場合はbooksコントローラのindexアクションにコードを付け加えていきます。
↑またまたインデントうまくいかなかったので各自で調整してみてください。
(なんでうまくいかないんだろう、、)
この部分ではもし「検索」フォームに何も入力されてなかったら?
全部表示するよーというコードです。
次のブロックでは、
もしもparamsに空文字はいっていたら?
これまた全部表示するよー
というコードです。
はい!最後のブロックは、
キーワードの一部でも一致したら探してとってきますよー!
といったコードになります。
完全一致したものだけを表示させたい場合だと、
where(カラム名: "検索したい文字列")
とかけばOKです。
ただ、完全一致検索はなかなか使わない気もします!
部分検索がよく使うのでは?と考えています。
といった所で、かんせーい!🌟
「検索機能」完成したのではないでしょうかー?
といったところで今日は以上ですー!良い一日をー!!!!!!!!!!!