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

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

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

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

Ruby on Rails 6

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

Q&A

解決済

検索結果の画像を表示させたい

tamtamtime
tamtamtime

総合スコア8

Ruby

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

Ruby on Rails 6

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

2回答

0グッド

0クリップ

358閲覧

投稿2023/03/05 00:27

編集2023/03/05 03:54

実現したいこと

検索結果を表示したい

前提

画像一覧にタイトルがついており、
そのタイトルの部分ヒットで検索結果を表示させたい

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

エラーメッセージはなく、ただ
何度検索しても全ての結果が表示されます。

該当のソースコード

ruby

1app>controllers>designs_controller.rb 2 3 def search 4 @designs = Design.search(params[:keyword]).order("created_at DESC") 5 end

ruby

1app>models>design.rb 2 3 def self.search(search) 4 if search != "" 5 Design.where('title LIKE(?)', "%#{search}%") 6 else 7 Design.all 8 end 9 end

ruby

1config>routes.rb 2 3 resources :designs do 4 collection do 5 post '/search', to: 'designs#search' 6 get '/search', to: 'designs#search' 7 end 8 end

ruby

1app>views>designs>index.html.rb 2 3 <%= form_with(url: search_designs_path, local:true, scope: :post, class:"search-form") do |form| %> 4 <%= form.text_field :search, placeholder:"検索する", class:"search-input " %> 5 <%= form.submit "検索",class: "search-btn" %> 6 <% end %>

ruby

1log 2 3Completed 404 Not Found in 1ms (ActiveRecord: 0.0ms | Allocations: 376) 4Mar 5 12:37:40 PM I, [2023-03-05T03:37:40.712228 #68] INFO -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Started POST "/designs/search" for 172.70.233.183 at 2023-03-05 03:37:40 +0000 5Mar 5 12:37:40 PM I, [2023-03-05T03:37:40.713014 #68] INFO -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Processing by DesignsController#search as HTML 6Mar 5 12:37:40 PM I, [2023-03-05T03:37:40.713082 #68] INFO -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Parameters: {"authenticity_token"=>"G3jXLcU2oBxzcqmxRRCMl4uFfj+wmKfMSCLoCuGnHy88ENlCH+6fbwU+gAuIHNr4YLR+oXEvEUiXiYRidjoMpw==", "post"=>{"search"=>"クチコミ"}, "commit"=>"検索"} 7Mar 5 12:37:40 PM I, [2023-03-05T03:37:40.745088 #68] INFO -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Rendering designs/search.html.erb within layouts/application 8Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.747825 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Tag Load (1.2ms) SELECT "tags".* FROM "tags" 9Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.752484 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Design Load (3.7ms) SELECT "designs".* FROM "designs" ORDER BY created_at DESC 10Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.756537 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] ActiveStorage::Attachment Load (1.1ms) SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4 [["record_id", 59], ["record_type", "Design"], ["name", "image"], ["LIMIT", 1]] 11Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.758089 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] ActiveStorage::Blob Load (0.9ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = $1 LIMIT $2 [["id", 59], ["LIMIT", 1]] 12Mar 5 12:37:40 PM I, [2023-03-05T03:37:40.758877 #68] INFO -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] Rendered designs/_design.html.erb (Duration: 5.8ms | Allocations: 1220) 13Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.841014 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] ActiveStorage::Attachment Load (81.3ms) SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4 [["record_id", 58], ["record_type", "Design"], ["name", "image"], ["LIMIT", 1]] 14Mar 5 12:37:40 PM D, [2023-03-05T03:37:40.847695 #68] DEBUG -- : [e1f699d7-f84f-40ec-8a06-d7de78f5b1ab] ActiveStorage::Blob Load (5.8ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = $1 LIMIT $2 [["id", 58], ["LIMIT", 1]]

試したこと

web検索し、上記にたどり着いたのですが、ここから
何度やっても検索ができない状態です。

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2023/03/05 00:41

想定のメソッド、分岐は通ってるか、値は来ているかデバッグしてみましたか?
yuma.inaura

2023/03/05 00:55

params[:keyword] ? params[:search] ?
tamtamtime

2023/03/05 01:15

controllerで、params[:keyword] 、params[:search] 両方試してみたのですが、やはり検索できず全部表示される状態です。
m.ts10806

2023/03/05 01:29

想定のメソッド、分岐は通ってるか、値は来ているかデバッグしてみましたか?

回答2

1

ベストアンサー

form_with(url: search_designs_path, local:true, scope: :post, と scopeがあるので params[:search] ではだめです。
log みても.post"=>{"search"=>"クチコミ"} になってますよね
params[:post][:search] にしてください

投稿2023/03/05 04:22

winterboum

総合スコア22817

tamtamtime🎉を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

tamtamtime

2023/03/05 04:59

ありがとうございます!解決いたしました!!今後も今回の事を参考にさせていただきます。

0

画面からはform.text_field :searchと定義してますので
コントローラ側ではparams[:search]で受け取れば良いのではないでしょか

投稿2023/03/05 01:12

a.com

総合スコア854

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

tamtamtime

2023/03/05 01:32

コントローラーでparams[:search]にしても、検索されず全て表示されてしまいます。
a.com

2023/03/05 01:52

ログにsqlが出力されていませんか?
tamtamtime

2023/03/05 03:53

Renderでデプロイしているのですが、ログの一部追記いたしました。 こちらの事でしょうか?

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.83%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby

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

Ruby on Rails 6

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