現在、Reviewsというモデルの中に
下記のようなコードを記述しております。
ruby
1class Review < ApplicationRecord 2 3validates :title,:gametitle,:body, presence: true 4 5 def self.search(search) 6 if search 7 Review.where('gametitle LIKE ?', "%#{search}%") 8 else 9 Review.all 10 end 11 end 12end
Review.where('gametitle LIKE ?', "%#{search}%")
を使って、検索窓で検索し、reviewsテーブルから、「gametitle」というカラムのデータを引っ張っています。
上記の記述になんらかの追記をし、reviewsテーブルから、「title」や「body」などの他のカラムも検索対象とする方法がわかりません。
Review.where('gametitle LIKE ?', "%#{search}%") の下に
Review.where('title LIKE ?', "%#{search}%")
などと追記してみたのですが、なぜかgametitleでの検索結果がhitしなくなりました。。
お手数ですが、どのようなコードで対応可能か、アドバイスをいただけると助かります。
なお、reviewコントローラーはこのような記載をしており
ruby
1 def index 2 @reviews = Review.search(params[:search]) 3 end
ビューはこんな記載です。
ruby
1<%= form_tag reviews_path, :method => 'get' do %> <%# reviews_pathはモデル名で読みかえること %> 2 <p> 3 <%= text_field_tag :search, params[:search] %> 4 <%= submit_tag "レビューを検索する", :name => nil %> 5 </p> 6<% end %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/25 06:51
2018/10/25 08:10
2018/10/28 07:41