1:検索フォームを作成
index.html.erbを編集しましょう
検索の入力欄とボタンには、フォームを使います。
app/views/tweets/index.html.erb
<%= form_with(url: search_tweets_path, local: true, method: :get, class: "search-form") do |form| %>
<%= form.text_field :keyword, placeholder: "投稿を検索する", class: "search-input" %>
<%= form.submit "検索", class: "search-btn" %>
<% end %>
・form_withのtext_fieldとsubmitを使って検索窓と検索ボタンを作成した。
3:検索のメソッドをモデルに定義
whereウェアーメソッド
モデルが使用できる、ActiveRecordメソッドの1つです。
モデル.where(条件)のように、引数部分に条件を指定することで、テーブル内の「条件に一致したレコードのインスタンス」を配列の形で取得できます。
引数の条件には、「検索対象となるカラム」を必ず含めて、条件式を記述します。
【例】whereメソッド
モデル.where('検索対象となるカラムを含む条件式')
条件式には'カラム名 > 5'やキーバリューの形でカラム名: 値などの記述が可能です。
条件と一致する値を持つレコードを、すべて取得します。
また、whereメソッドを連続して記述することによって、複数の条件に一致したレコードを取得することもできます。
「LIKEライク句」
LIKE句は、曖昧(あいまい)な文字列の検索をするときに使用するもので、whereメソッドと一緒に使います。
曖昧な文字列の検索とは、たとえば「1文字目に'a'という文字列が入ったデータ」や「最後の文字に'b'が入っているデータ」、「文字列の途中に'c'が入ったデータ」などを検索するものです。
whereメソッドとLIKE句を使用して検索の処理を作ります。