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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1290閲覧

絞り込み検索がエラーにより動かない状態になっています。

avicii

総合スコア49

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/01/26 15:31

私は、今絞り込みの検索機能を実装しようと考えています。しかし、エラーに引っかかってしまい、動かない状態になっています。もしわかる方がいらしたら、教えていただきたいです。

イメージ説明
イメージ説明

Controller

1 2def index 3 @plans = Plan.includes(:guider).page(params[:page]).per(5).order("created_at DESC") 4 @plans = Plan.page(params[:page]).per(5).order("created_at DESC").search(params[:search]) 5end 6

Model

1 2def self.search(search1, search2) 3 if search1 && search2 4 Plan.where("(datetimes like ?) AND (title like ?)", "%#{search1}%", "%#{search2}%") 5 else 6 Plan.all 7 end 8end 9

View

1<div class="david"> 2 <%= form_tag plans_path, :method => 'get', :class => 'david' do %> 3 <p><strong>Place: </strong></p> 4 <div style="width: 250px;" placeholder="date" > 5 <p><%= text_field_tag :datetimes, params[:search1] %></p> 6 <p><%= text_field_tag :title, params[:search2] %></p> 7 <%= submit_tag "Search", :name => nil %> 8 </div> 9 <% end %> 10</div>

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

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

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

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

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

guest

回答1

0

エラーメッセージを読むと、searchというメソッドは2つ引数を渡してほしいのに1つしか渡されていないよというエラーになっています。

実際にsearhcメソッドを呼び出している箇所は、この部分ですね。

@plans = Plan.page(params[:page]).per(5).order("created_at DESC").search(params[:search])

params[:search] という引数1つしか渡していないので、2つ引数を渡して上げましょう。

投稿2019/01/28 04:50

kouheiszk

総合スコア213

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

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

avicii

2019/01/29 16:58

この場合は、@plans = Plan.page(params[:page]).per(5).order("created_at DESC").search(params[:search1], params[:search2])と書けばよろしいでしょうか?
kouheiszk

2019/02/13 15:37

まず、エラーメッセージにはメソッドを呼び出すにあたり引数が足りないというエラーが出ているので、引数を2つ渡すようにしてあげましょう回答でした。 ですので、とりあえず引数の数を増やしていろいろと試してみると良いと思います。 エラーは消えると思いますが、意図したクエリが発行されるかチェックしましょう。 params[:search1]やparams[:search2]に値が正しく入っているかを確認したりすると良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問