質問編集履歴

1 tuika

Boston12121

Boston12121 score 10

2020/02/08 22:10  投稿

【Rails】View⇒Controllerへのパラメータの受け渡しがうまくいかない
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
```
  • Ruby on Rails

    15405 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る