【アウトプット】検索フォームの作り方(08/03)

◆必要なもの◆

●中身(検索機能)

・whereメソッド

条件を設定して、設定した条件に合うものを引っ張ってくるメソッド

<使い方>

モデル名.where('条件式')

 

・LIKE句

曖昧な文字列を検索する時に使用する

曖昧文字列とは

%:任意の文字列(複数文字)を検索

_:任意の一文字を検索

この二つのことであり、組み合わせかたで

文字列の最初に指定した文字列を含む(where('title LIKE(?)', "a%"))

文字列の最後に指定した文字列を含む(where('title LIKE(?)', "%a")

文字列の中に指定した文字列を含む(where('title LIKE(?)', "%a%"))

 

の3パターンを指定できる

検索フォームに使うなら、3つ目を充てる

 

●外側(検索フォーム)

・form_with

 

<使い方>

.form_with

ビューに規定する、ヘルパーメソッド。

テキストを入力するフォームを作る時に使用する。

 

使う機能は

・一行のテキストを入力する機能(text_field)

・検索ボタン(submit)

<使い方>

<%= 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 %>