初心者的な質問です。
現在検索機能を作っています。
そのためにgemのransackを利用しています。
コントローラーのコードは
def search
@q = Comic.ransack(params[:q])
@comics = @q.result
end
ビューは
<%= search_form_for @q,:url => {:controller => :comics ,:action => :search} do |f| %>
となっています。ですが、この書き方だと、検索機能自体は動くのですが、検索ボタンを押す前の時点で、すべてのレコードが検索結果(すなわち<tbody>以下)に出てきてしまいます。検索をかけるとすでに表示されているレコードの中から検索ワードに引っかかるものを絞るという形になっています。
検索ワードを入れて、検索ボタンを押して初めて、レコードが出てくるようにしたいです。
私が考えた方法は、「text_fieldが空の時、検索を押しても、レコードが表示されない」というものですが、その書き方がわかりません。
お伺いしたいことは二つです。
1「text_fieldが空の時、検索を押しても、レコードが表示されない」という方法はそもそも正しいアプローチでしょうか
2もし正しいなら、書き方を教えていただきたいです。間違いなら、正しい考え方を教えていただきたいです。
何卒よろしくお願いいたします。