■通常検索はpostでなくgetで行う。Googleとかも、検索文字列がパラメータとして表示される
【1.view側のコード】
ここには、検索ボックスを表示される。そのコードは次のようになる
<h1>商品一覧</h1> <form action="/search/search" method="get"> <table> <tr> <td><input name="query" size="30" type="text" value="" /></td><td><%= submit_tag("Search") %></td> </tr> </table> <%= end_form_tag %>
見ての通り、ヘルパーメソッドを使っていない。あると思うのだが・・・
このname="query"で、パラメータを指定している。
【2.controller側】
上のviewのget先のcontrollerは次のようになる。
def search pattern = params[:query] split_pattern = pattern.split() products = Product.find(:all) @products.clear
ポイントは、pattern = params[:query]でgetパラメータを取り出せること。