内容
gem ransackを使って検索機能を実装する方法を記述
ransackをインストールする
Gemfileにransackを記述
gem 'ransack'
ターミナルにて
$ bundle install
※サーバーを再起動する
検索したいcontrollerにて
def index
@q = Question.ransack(params[:q])
@questions = @q.result(disitinct: true)
end
html.erbにて
<%= search_form_for @q do |f| %>
<%= f.label :title_cont %>
<%= f.search_field :title_cont %>
<%= f.submit %>
今回の場合は_cont
を使用(入力した文字を含んでいるもの)
参考
https://github.com/activerecord-hackery/ransack
内容でも検索したい
以下のような投稿の時にタイトルだけでなくbodyの内容も検索に引っ掛けたい
<%= search_form_for @q do |f| %>
<%= f.label :title_cont %>
<%= f.search_field :title_or_body_cont %>
<%= f.submit %>
<% end %>
のようにor
を使うと