質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3252閲覧

【Rails5 + Ransack】1つのパラメータで複数フィールドを検索

pecchan

総合スコア555

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/04/28 06:53

画面にテキストボックスが1つあり、1つの入力で
商品コードも、商品名も検索可にしたいです。

以下を見るとView側の記述は参考になりましたが
一つの検索ボックスで複数の項目を検索するには

コントローラ側の記述がよく分からず色々試しました。
いずれもNG。エラーこそなりませんが、コマンドを見ると渡したパラメータが文字化けのようになっています。

やはりコントローラの記述が違うでしょうか?

ビュー

ruby

1<%= render layout: 'shared/search_box' do %> 2 3<div class="row"> 4<div class="col-sm-6"> 5 6 <div class="form-group"> 7 <label class="col-sm-4 control-label" for="">検索したい文字を入れてね!</label> 8 <div class="col-sm-8"> 9 <%= f.text_field :name_or_code_cont, class: 'form-control' %> 10 </div> 11 </div> 12 13</div> 14 15<div class="col-sm-12 row text-center"> 16 <%= link_to products_path, class: 'btn btn-default btn-left' do %>クリア<% end %> 17 <button class="btn btn-default btn-primary" type="submit"><i class="fa fa-search"></i> 検索</button> 18</div> 19 20</div> 21 22<% end %>

コントローラ

ruby

1class ProductsController < ApplicationController 2 3 def index 4 5 6 7 #すべてNG・・・orz 8 #@q =Product.search(:code_or_name_cont => params[:q]) 9 #@q =Product.search(:name_or_code_cont => params[:q]) 10 #@q =Product.search(:name_cont_or_code_cont => params[:q]) 11 @q =Product.search('name_or_code_cont' => params[:q]) 12 13 14 @products = @q 15 .result 16 .order(availability: :desc, code: :asc) 17 .decorate 18 19 end 20 21 22end

コマンド。文字化けしてる?
error

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらが参考になるかと。
同じことをしています。

投稿2017/04/28 07:31

tqkqt0

総合スコア155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2017/04/28 07:43

有難う御座います。 上記サイトを参考にさせていただきました! 一度 @q = Product.ransack(params[:q]) が必要なんですね! 有難う御座いました!
moke

2017/04/28 07:51 編集

いえいえ params[:q]に :name_cont_or_code_cont =>'検索条件' が格納されているんです。
tqkqt0

2017/04/28 08:04

必要ではなく、mokeさんのおっしゃる通りで、 'name_or_code_cont' => params[:q] がおかしいです。
pecchan

2017/04/28 08:08 編集

moke様、tqkqt0様 ご親切、有難う御座います。 勘違いのまま進むところでした。。。 @q = Product.ransack(params[:q]) @products = @q.result
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問