my appの1つのテーブルの1つの列を照会する基本的な検索フォームを作成しました。私はエピソード37 Railscast:http://railscasts.com/episodes/37-simple-search-formに続きました。注:私はちょうど別の検索関連の質問を掲載しましたが、それはまったく別の問題です。検索フォームに値を入力する方法
私のアプリでは、検索で私のプロファイルテーブルの郵便番号の列が検索され、正しい郵便番号を含むプロファイルのリストが返されます。
ここに私の問題があります。現在、ユーザーが入力を空白にして[送信]ボタンを押すと、サイト内のすべてのプロファイルが表示されます。私はこれが起こることを望んでいない。フィールドが空白の場合は、検索を通過させたくありません。私はフラッシュ通知をするか、エラーを投げて、ユーザが進むために郵便番号を入力する必要があることを説明したいと思います。
プロファイルCONTROLLER
def index
@profiles = Profile.search(params[:search])
end
プロファイルモデル
def self.search(search)
if search
find(:all, :conditions => ['zip LIKE ?', "%#{search}%"])
else
find(:all)
end
end
PROFILE/INDEX.HTML.ERB
<% form_tag ('/profiles', :method => :get) do %>
<%= text_field_tag :search, params[:search], :maxlength => 5 %>
<%= submit_tag "Go", :name => nil %>
<% end %>
ありがとう:
は、ここに私のセットアップです!
残念ながら、これにより検索の有用性も低下します。これでAFAIKという単語全体が一致します。 –
私は現在、郵便番号による検索のみを許可しているので、これは私が欲しいものです。 – MikeH