転職活動等(初回面談)(メインはLIKE句を用いたあいまい検索の実装)

はい、こんばんは。

 

世間は年の瀬、学生たちは冬休みに入り、野原を駆け回っておりました。

 

そんな中、今日もTECH::EXPERT梅田校へと足を向けました。

 

最初にキャリアアドバイザーの方と面談ということで、センタービルのカフェへ。

 

面談内容

大阪、東京の求人の傾向について

自分の学歴や経歴について

将来どうなって行きたいかについて

転職活動で自分が重要視するものは何かについて

 

だいたいこんな感じで1時間話をしていただいた。

 

現段階でやりたいこと、将来像に関しては漠然としたものが多く、答えられなかったが、1番はWebアプリ開発に携わらせてもらえるところと考えている。

 

大阪ではWebアプリ開発に励む会社よりも、業務側の募集が多いようだ。加えて、Webアプリ開発の会社もあるのだが、求人が少ない上に、ライバルが多く、高い壁となってしまっているようだ。精進せねば・・・

 

ということで今日のアウトプットです。

 

今日のテーマは「あいまい検索」です!!

 

具体的には、form_forにてキーワードを入力→検索のワードに引っかかるものを引っ張ってくれるというものです。

 

今回のあいまい検索に使うものの解説。

# 曖昧文字列について

%・・・任意の文字列を検索する

_・・・任意の1文字を検索する。

 

# 使用例

where.(‘title LIKE(?)’, “a%”)

aから始まるタイトルを検索する。

 

where.(‘title LIKE(?)’, “%b”)

bで終わるタイトルを検索

 

where.(‘title LIKE(?)’, “%c%”)

cが含まれるタイトルを検索

 

where.(‘title LIKE(?)’, “d_”)

dで始まる2文字のタイトルを検索

 

where.(‘title LIKE(?)’, “_e”)

eで終わる2文字のタイトルを検索

 

実際のコードでは、”%a”とか”_e”とかを指定することはほぼないです。 

 

では、順をおって実装して行きましょう。

app/controller/items_controller.rb

f:id:g1034725:20181227002746p:plain

 

まず、コントローラに記述をします。

 

 今回のアプリの場合は、searchアクションに対して検索をしてほしいわけですから、ここに記述します。

 

nameはカラム名になり、取得してほしい情報が入っているカラムを指定します。

 

この場合は、名前を検索のキーワードとしてほしいので、nameと指定します。

 

また、“%#{params[:keyword]}”に関してですが、%%で囲んでいるので、paramsの[:keyword]を含むという指定をしてあげるわけです。

 

これでコントローラの処理は完了です。

 

次にformが送られてくるビュー側の処理をします。

form_forに対してname属性を指定してあげる必要があります。ここで[:keyword]の受け渡しをするわけですね。

f:id:g1034725:20181227003441p:plain

 意味合いとしては、formから[:keyword]が送られ、コントローラに行きます。コントローラで[:keyword]に合致するものがあるか判断し、結果をビューに返すという処理がされています。

 

これで曖昧検索が実装できました。

 

思ったより簡単にできましたので、お困りの方はぜひお試しください!!

 

それでは。

 

 

コメント

  1. Mchinta より:

    あざらしさんは文章が読みやすくていいですね^ ^
    今後の投稿もオネシャス!

タイトルとURLをコピーしました