複数条件検索機能実装エラーで困っています。
view画面
https://gyazo.com/333dceaa62e9bb1dbdee9f03989f2bd6
検索ワードを入力した画面
https://gyazo.com/7d94eddee07b6ba33c871f25b48f0ffe
model
1def self.search(shop_params) 2 if shop_params 3 Shop.where(["name LIKE ? OR genre_id = ? OR pricerange_id = ? OR address_id = ?", "%#{shop_params[0]}%",shop_params[1],shop_params[2],shop_params[3]]) 4 else 5 Shop.all.order(id: "asc") 6 end 7end
contoller
1def search 2shop_params = 3 [params[:name],params[:genre_id],params[:pricerange_id],params[:address_id]] 4 @shops = Shop.search(shop_params) 5 @rate = Post.group(:shop_id).average(:rate) 6end
view
1<div class="col-md-12 text-center"> 2 <div class="form-group"> 3 <%= form_with url:search_shops_path, method: :get, local: true do |f| %> 4 <%= f.text_field :name, placeholder:"店舗名を入力" %> 5 <%= f.collection_select :genre_id, Genre.all, :id, :name, :prompt => "料理ジャンルで検索", class:"form-control"%> 6 <%= f.collection_select :pricerange_id, Pricerange.all, :id, :price, :prompt => "平均単価で検索", class:"form-control"%> 7 <%= f.collection_select :address_id, Address.all, :id, :prefectures, :prompt => "地域で検索", class:"form-control"%> 8 <%= submit_tag '検索' %> 9 <% end %> 10</div>
修正したブランチのコード
https://github.com/katahabaR3sei/foodapp/tree/feature-area-search
マスタブランチのコード
https://github.com/katahabaR3sei/foodapp/tree/master
マスターブランチでは店舗名での検索が可能になっていますが
現在のブランチですと、店舗名かつ〇〇ジャンルや○○ジャンルかつ〇〇地域などの複数条件での検索を実装しようとして、エラーが発生しております。
pryを使い確認した上でparamsも取得できていると思うのですが、shop.rbの記述が間違っているのか
エラーが解消されません。
ご確認よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 23:08 編集
2020/04/29 00:28