ransackで検索後に画像を表示したいです。
ruby on rails にransackで検索機能を実装し、seed.rbにあらかじめ記載しておいた
データを表示させました。Carrierwaveも導入しseedファイルにデータを保存できるようにしたものの、
検索結果には文字列しか表示されません。
発生している問題・エラーメッセージ
エラーメッセージ 検索結果(胃もたれと検索するとキャベツの画像が出るようにしたい) キャベツ /uploads/food/image/3/%E3%82%AD%E3%83%A3%E3%83%99%E3%83%84.png 食欲増進、胃もたれ、ゲップ、胃痛におすすめです。 胃もたれ 胃もたれ (エラーメッセージは出ないものの、表示が文字列になってしまいます。) ### 該当のソースコード seed.rb Food.create(food_name:'梨', image: File.open('./public/uploads/image/1/梨.png'), text:'秋に出回る梨は、肺に潤いを与え、熱を下げる効果があります。お酒の飲み過ぎにもおすすめ。', effect:'咳が出る,二日酔い', symptom_id:'1' ) food_controller def index @food_image = Food.select("image").distinct end def search @results = @p.result.includes(:symptom) end 検索結果のビューファイル(略) <% @results.each do |result| %> <%= result.image %> <% end %> ```ruby on rails 検索にてfoodテーブルからカラムを引き出しています。symptomという親テーブルがあります。 画像はpubulicにuplodesファイルを作成しimages/1/フォルダを作成し入れています。 ### 試したこと 参照させていただいたサイト https://pikawaka.com/rails/image_tag https://sweets-engineer.com/carrierwaveseed/ 1. seed.rbで Food.create(food_name:'梨', image: open("#{Rails.root}/db/food/梨.png") としてみるとNoMethodが出現。 2. ビューファイルで <%= result.image %>を<%= result.image_tag '/梨.png' %> にしてみてもNoMethodが出現。 3.ビューファイルで result.image(image_tag)やresult.image(@image)では表示が変わらず。 result.image(@food)ではwrong number of arguments (given 1, expected 0)と表示されてしまいます。 ビューのところが怪しいですが答えまでたどり着けません。どうかご教授お願いします。 ### 補足情報(FW/ツールのバージョンなど) rails 6.0.0 ransackとCarrierwave導入。
あなたの回答
tips
プレビュー