Movatterモバイル変換


[0]ホーム

URL:


酒と泪とRubyとRailsと

Rails 5.1とBootstrapで作るシンプルな検索機能のテンプレ


Rails 5.1とTwitter Bootstrapをつかったアプリケーションに検索機能をつけました。個人的忘備録で、手順のメモを書いておきます。

🐹ControllerにSearchアクションを追加

Controller側にsearch用のアクションを追加します。

classArticlesController< ApplicationController
defsearch
@articles = Article.search(params[:qkeyword])
end
end

🗻Modelにsearchメソッドを追加

Modelにsearchメソッドを追加します。今回はtitlecontentをLIKEで検索する例です。

classArticle< ApplicationRecord
scope:search, (->(word) { where('title LIKE ? OR content LIKE ?',
"%#{sanitize_sql_like(word)}%",
"%#{sanitize_sql_like(word)}%") })
end

🐞Viewに検索フォームを追加

ERBを使っている場合はこちら。

<%form_tagsearch_articles_path,method::getdo %>
<%=text_field_tag:search,params[:keyword] %>
<%=submit_tag '検索' %>
<%end %>

HAMLを使っている場合はこちら。

= form_tag search_articles_path, method: :get do
= text_field_tag :search, params[:keyword]
= submit_tag "検索"

🐰config/routes.rbにSearchを追加

Rails.application.routes.drawdo
resources:articlesdo
collectiondo
get'search' =>'articles#search'
end
end
end

コーディングは以上です。結果はこんな感じになると思います。

どうぶつの森 QRコードまとめ 検索ボックス

🐠補足:Elasticsearch

このサンプルは簡易的に検索機能を実装したいときに有効ですが、サービスで本格的に提供する場合はElasticsearchを使うのが一般的です。

Elasticsearchを使ったRailsサンプルアプリケーションの作成

🐮参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍

Rails/Modelバリデーションコールバック変更前後の値の確認値の保存・更新アソシエーション削除メソッドSQLの実行日付カラムの設定便利なDB関連設定読込み専用(Read Only)Concern(共通処理)クエリTipsRails/Controllerrenderレシピ集HTTPステータスシンボルIPの取得についてStrong ParametersControllerのTipsRails/ViewHAMLチートシート画像アップロードフォームS3への画像アップロードForm Objectフォームヘルパー検索可能なselectタグenum - selectタグシンプルな検索ボックス別ウィンドウ・フォームRailsいろいろi18nについてRails.cacheメール送信ロギングCapistrano3でデプロイセッション管理環境ごとのYAML設定読込xx分前の時間表記Tipsいろいろ便利ライブラリ簡単Webmock:VCRN+1対策:bullet環境変数の管理: dotenvi18nサポート: i18n-tasksLDAP:net-ldapヘッダ:secureheadersrack-mini-profileractiverecord-precountカバレッジ計測パンくずリスト+MetadataRSpecの記法自動修正アプリランキング取得Unicorn導入手順unicorn-worker-killerRSpecController SpecCapybaraとヘッドレスChromeRequest SpecAPI認証 Spec便利Tipsデザインパターン概要アブストラクトファクトリビルダファクトリメソッドアダプタコンポジットデコレータプロキシコマンドインタプリタイテレータオブザーバストラテジテンプレートメソッドRuby基礎文字列/String配列/Arrayハッシュ/Hash構造体/StructSpawn(コマンド実行)BundlerについてTipsRails 5.1へのアップデートRails 5へのアップデートrbenvバージョンアップpumaをsystemdで動かすURI.encodeとCGI.escapeURLのパラメータを変更処理時間を計測画像JPEG/PNG/GIF判定トラブルシュートNo route matches assets

[8]ページ先頭

©2009-2025 Movatter.jp