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

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

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

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

Q&A

解決済

1回答

546閲覧

【Rails】View⇒Controllerへのパラメータの受け渡しがうまくいかない

Boston12121

総合スコア10

Ruby on Rails

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

0グッド

0クリップ

投稿2020/02/08 13:03

編集2020/02/08 13:10

link_toでタグのようなものを作ろうとしていて、クリックするとその値を持っているレコードを
一覧表示させるということをしたいのですが、ViewからControllerへのパラメータの受け渡しがうまくいかず困っています。。
一つだけ(name)うまく動くのですが、他のタグリンクをクリックすると表示結果が0件になってしまいます。

rails s のログを確認するとSELECT COUNT(*) FROM "names" WHERE (name LIKE '%東京%')のnameの部分がphotoやprefecturesになっているはずが、なぜかnameのままになっていました。

views/images/index.html.erb

<% @images.each do |image| %> <!--名前タグ(例:田中次郎)--> <%= link_to image.name, controller: "images", action: "index", images_name: image_name%>, <!--写真タグ(例:風景、動物)--> <%= link_to image.photo, controller: "images", action: "index", images_photo: image.photo%>, <!--都道府県タグ(例:北海道)--> <%= link_to image.prefectures, controller: "images", action: "index", images_prefectures: image.prefectures%> <% end %>

controllers/images_controller.rb

def index @images = Image.all #タグリンクname if params[:images_name].blank? @count_post = @images.count else @images = Image.new @images = Image.search(params[:images_name]) end #タグリンクphoto if params[:images_photo].blank? @count_post = @images.count else @images = Image.new @images = Image.search(params[:images_photo]) end #タグリンクprefectures if params[:images_prefectures].blank? @count_post = @images.count else @images = Image.new @images = Image.search(params[:images_prefectures]) end @image = Image.new end

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

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

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

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

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

guest

回答1

0

ベストアンサー

Image.search に問題がありそうです。
ここで name 決め打ちでwhereしていませんか?

投稿2020/02/08 14:00

winterboum

総合スコア23329

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

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

Boston12121

2020/02/08 23:35

回答ありがとうございます! searchメソッドをwhereに変えてみたら無事いきました! 的確なご指摘毎度感謝しておりますm(_ _)m before @images = Image.search(params[:images_photo]) after @images = Image.where(photo: params[:images_photo])
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問