読者です 読者をやめる 読者になる 読者になる

グロースエンジニアのブログ

プログラミングとウェブ解析をやっています。Googleアナリティクス好きなRuby on Rails エンジニアです!

検索した場合のみ、その結果を表示する 〜Ruby on Rails4〜

検索についていろいろ調べているんですが、各サイト通りにやると【index】で全部表示しておいて、そこから検索条件によって表示を切り替えるものが一般的のように感じました。

僕がやりたいことは、最初は何も表示せず、検索ボタンを押した場合のみ、その結果を表示したいです。

【submit】が1つの場合に限ると思いますが、検索ボタンを押すと【params[:commit]】というパラメータが発生します。

これを利用して、以下のようにして検索した場合のみ表示するようにしました。

※viewでの表示です。また、コントローラでも同様にできます。

  <% if params[:commit].present? %>
    検索結果を表示するロジック
  <% else %>
    <p>一致するものがありませんでした。</p>
  <% end %>