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

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

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

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

Q&A

解決済

1回答

1167閲覧

railsにてRansackを導入しようとしたら、【No Ransack::Search object was provided to search_form_for!】というエラーが出て進めない

s.kamei

総合スコア1

Ruby on Rails 6

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

0グッド

0クリップ

投稿2020/08/06 10:11

前提・実現したいこと

「No Ransack::Search object was provided to search_form_for!」(Ransack :: Searchオブジェクトがsearch_form_forに提供されていません)エラーを解決したいです。

何卒お力添えを頂けますと幸いです。

Railsを使ったアプリで、GemのRansackを用いてユーザー検索機能をつけようとしています。
コントローラとビューを実装し、リロードしたところで以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

【No Ransack::Search object was provided to search_form_for!】

該当のソースコード

ビューファイル(index)

ruby

1<%= search_form_for @q do |f| %> 2 <%= f.label :name_cont %> 3 <%= f.search_field :name_cont %> 4 5 <%= f.submit %> 6<% end %>```UserController 7

対応するコントローラファイル(index)

ruby

1class UserController < ApplicationController 2 def index 3 @q = User.ransack(params[:q]) 4 @users = @q.result(distinct: true) 5 end 6 end

ルートファイル(index)

ruby

1Rails.application.routes.draw do 2 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 3 () 4 get "/search" => "user#index" 5end 6

試したこと

https://prokyou.com/rails/nogemsearch/
こちらのサイトを参照して、進めていたところ、詰まりました。
ransackの導入は成功しています。

補足情報(FW/ツールのバージョンなど)

gemlist

actioncable (6.0.3.2) actionmailbox (6.0.3.2) actionmailer (6.0.3.2) actionpack (6.0.3.2) actiontext (6.0.3.2) actionview (6.0.3.2) activejob (6.0.3.2) activemodel (6.0.3.2) activerecord (6.0.3.2) activestorage (6.0.3.2) activesupport (6.0.3.2) addressable (2.7.0) bigdecimal (default: 1.4.1) bindex (0.8.1) bootsnap (1.4.7) bootstrap-will_paginate (1.0.0) builder (3.2.4) bundler (2.1.4, default: 1.17.2) byebug (11.1.3) capybara (3.33.0) CFPropertyList (2.3.6) childprocess (3.0.0) cmath (default: 1.0.0) concurrent-ruby (1.1.6) crass (1.0.6) csv (default: 3.0.9) date (default: 2.0.0) dbm (default: 1.0.0) did_you_mean (1.3.0) e2mmap (default: 0.1.0) erubi (1.9.0) etc (default: 1.0.1) fcntl (default: 1.0.0) ffi (1.13.1) fiddle (default: 1.0.0) fileutils (default: 1.1.0) forwardable (default: 1.2.0) globalid (0.4.2) hpricot (0.8.6) html2slim (0.2.0) i18n (1.8.5) io-console (default: 0.4.7) ipaddr (default: 1.2.2) irb (default: 1.0.0) jbuilder (2.10.0) json (default: 2.1.0) libxml-ruby (3.1.0) listen (3.2.1) logger (default: 1.3.0) loofah (2.6.0) mail (2.7.1) marcel (0.3.3) matrix (default: 0.1.0) method_source (1.0.0) mimemagic (0.3.5) mini_mime (1.0.2) mini_portile2 (2.4.0) minitest (5.14.1, 5.11.3) msgpack (1.3.3) mutex_m (default: 0.1.0) mysql2 (0.5.3) net-telnet (0.2.0) nio4r (2.5.2) nokogiri (1.10.10, 1.10.1) openssl (default: 2.1.2) ostruct (default: 0.1.0) polyamorous (2.3.2) power_assert (1.1.3) prime (default: 0.1.0) psych (default: 3.1.0) public_suffix (4.0.5) puma (4.3.5) rack (2.2.3) rack-proxy (0.6.5) rack-test (1.1.0) rails (6.0.3.2) rails-dom-testing (2.0.3) rails-html-sanitizer (1.3.0) railties (6.0.3.2) rake (13.0.1, 12.3.2) ransack (2.3.2) rb-fsevent (0.10.4) rb-inotify (0.10.1) rdoc (default: 6.1.0) regexp_parser (1.7.1) rexml (default: 3.1.9) rss (default: 0.2.7) rubyzip (2.3.0) sass-rails (6.0.0) sassc (2.4.0) sassc-rails (2.1.2) scanf (default: 1.0.0) sdbm (default: 1.0.0) selenium-webdriver (3.142.7) shell (default: 0.7) slim (4.1.0) slim-rails (3.2.0) spring (2.1.0) spring-watcher-listen (2.0.1) sprockets (4.0.2) sprockets-rails (3.2.1) sqlite3 (1.4.2, 1.3.13) stringio (default: 0.0.2) strscan (default: 1.0.0) sync (default: 0.5.0) temple (0.8.2) test-unit (3.2.9) thor (1.0.1) thread_safe (0.3.6) thwait (default: 0.1.0) tilt (2.0.10) tracer (default: 0.1.0) turbolinks (5.2.1) turbolinks-source (5.2.0) tzinfo (1.2.7) web-console (4.0.4) webdrivers (4.4.1) webpacker (4.2.2) webrick (default: 1.4.2) websocket-driver (0.7.3) websocket-extensions (0.1.5) will_paginate (3.3.0) xmlrpc (0.3.0) xpath (3.2.0) zeitwerk (2.4.0) zlib (default: 1.0.0)

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

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

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

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

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

guest

回答1

0

ベストアンサー

@q = User.ransack(params[:q] || {})
でどうかな

投稿2020/08/07 22:47

winterboum

総合スコア23567

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

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

s.kamei

2020/08/11 04:11

解決いたしました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問