はい、こんばんは。
世間は年の瀬、学生たちは冬休みに入り、野原を駆け回っておりました。
そんな中、今日も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
まず、コントローラに記述をします。
今回のアプリの場合は、searchアクションに対して検索をしてほしいわけですから、ここに記述します。
nameはカラム名になり、取得してほしい情報が入っているカラムを指定します。
この場合は、名前を検索のキーワードとしてほしいので、nameと指定します。
また、“%#{params[:keyword]}”に関してですが、%%で囲んでいるので、paramsの[:keyword]を含むという指定をしてあげるわけです。
これでコントローラの処理は完了です。
次にformが送られてくるビュー側の処理をします。
form_forに対してname属性を指定してあげる必要があります。ここで[:keyword]の受け渡しをするわけですね。
意味合いとしては、formから[:keyword]が送られ、コントローラに行きます。コントローラで[:keyword]に合致するものがあるか判断し、結果をビューに返すという処理がされています。
これで曖昧検索が実装できました。
思ったより簡単にできましたので、お困りの方はぜひお試しください!!
それでは。
コメント
あざらしさんは文章が読みやすくていいですね^ ^
今後の投稿もオネシャス!