title: “Rails 3.2.9とBootstrapで作るシンプルな検索機能のテンプレ”
category: Rails rubygem Ruby

😸 tags: [Rails RubyGem Ruby]

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


🐯 ControllerにSearchメソッドを追加

class ArticlesController < ApplicationController
def search
search_word = URI.decode(params[:q].to_s)
@articles = ImageSite.where(content: search_word)
end
end

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

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

<div id="search_form_box">
<form class="form-search" action="/search" method="get" role="search">
<input class="input-medium search-query" name="q" placeholder="Search" type="text" value="<%= params[:q] %>">
<input class="btn" alt="検索" value="検索" type="submit">
</form>
</div>

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

#search_form_box
%form.form-search{action: "search", method: "get", role: "search"}
%input.input-medium.search-query{name: "q", placeholder: "Search", type: "text", value: params[:q]}
%input.btn{alt: "検索", value: "検索", type: "submit"}

🗻 config/route.rbにSearchを追加

TestApp::Application.routes.draw do
match "search" => "articles#search"
end

以上でコーディングは終了です。
結果はこんな感じになると思います。(Bootsrap/Bootswatch/Cosmoを適用)

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

ということで、「どうぶつの森 QRコードまとめ」に検索ボックスを設置しました!

😼 補足: 検索系のGemならSolr/sunspotが有名

今回はレコードが2000件くらいしかなくって大げさなしくみが必要なかったので使いませでしたが、大規模なら「Apache Solr」とGem「Sunspot」を使うべきですよね。

一応簡単には調べたのでリンクだけ残しておきます。

sunspot/sunspot · GitHub

【sunspot】Railsでsunspot(solr)を使用するとき、rsolrでモデルを経由せずインデックス作成を行う。 - 記すに足らず。

結局、Rails 3.2 で 大量のデータを検索する場合、Sunspot な Solr が一番 いい感じ。という面白くないオチ。 | JAM☆ぱん

検索エンジンの常識をApache Solrで身につける (1/4) - @IT

🎳 変更来歴

01/25 18:05 view側のhtmlのactionを修正

📚 おすすめの書籍

💩 欲しいものリスト公開しました