Sinatraのあらかると

記録することで、環境構築で悩まない。

Rails3のページ内検索で使えるものの紹介。

前回のcoffeescriptをWindowsにてCygwin以外のコマンドプロンプトで使えるようにした記事の考察。ついったーをみていると、node.exeからnpmのインストールは可能のようで、npmもいれるといいのかもしれないけれど、私のは一例なのでそのままにしておく。もしかしたら、Cygwinを使っているのかもしれないし、情報不足でなんともいえません。

今回、雑談形式でページ内検索の話を。
「たーにーのenjoy life」
http://tanienjoylife.blogspot.com/2011/05/rails-metasearch.html
をみているとページ内検索の設定方法がわかりました。

Rails3.0.10にて、
作成したファイルのGemfileに


gem 'meta_search'


を追加する。
bundle installまたは、
bundle updateを実行する。
そして、コントローラーに書き込む。
itemsはstoreでもbookでもproductでもいい。
railsで生成したモデルクラスです


#items_controllerがあればそこに

def index
#@items = Item.all  
#元の1行をコメントアウト!
@search = Item.search(params[:search])
@items = @search.all # load all matching records

ビュー:
# items/indexにGETでアクセスして、
@searchをパラメーターで送るようにセット
<%= form_for @search, :url => items_path,:html
=> {:method => :get} do |f| %>
<%= f.label :dscr_or_name_contains %>
<%= f.text_field :dscr_or_name_contains %>
<%= f.submit "検索"%>
<% end %>


#シンボルとしているファイルを_or_で繋ぎます。
#Itemのdscrとname検索対象としています
つまり:dscrとnameはシンボルにしている単語で変わります。

この記事がとても参考になりました。
ページ内検索を調べるとまだまだ難易度が高いものがあって、ここまでシンプルなのはとても楽ちんです。ありがとう。
どうやら、jQuaryを使ってサイト内検索をするのが参考書籍のやりかたのようです。meta-searchもいいけどね。javascriptは色々な役割に重宝しますし。他の用途に使うのもいいね。

追記:前にMySQLデータベースをcreate database ○○○_development;って作っていたけどRailsでは
rake db:createって便利なコマンドがあるのでそれでよさそう。
ためになりました。

追記:Node塾
https://sites.google.com/site/nodejyuku/how_to_install_for_windows
なるサイトの手順通りにnpmをインスコすると成功。案外簡単。

Copyright © 2007-2017 Takayuki Kamiyama. All Rights Reserved.