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

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

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

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Q&A

1回答

1071閲覧

herokuにseedファイルの画像が反映されません

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/10/11 00:29

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

herokuにデプロイ後、seedファイルを反映させても、画像が表示されません。(ローカル環境では正しく表示されています)
コンソールを確認すると以下のエラーメッセージ が表示されています。

Failed to load resource: the server responded with a status of 404 (Not Found)

エラー文から画像が正しく読み取れないため表示されていないということは理解できました。
seeds.rbの画像をattachするための記述が怪しいのではないかとか思っているのですが、改善方法がわかりません。
教えていただけると幸いです。
以下、エディタのコードです。

該当のソースコード

seeds

120.times do |n| 2 laundry = Laundry.new( 3 name: "コインランドリー#{n + 1}号店", 4 address: "愛知県名古屋市1-#{n + 1}", 5 opening_date: Faker::Date.between(from: '2000-01-01', to: Date.today), 6 open_time: Faker::Time.between(from: DateTime.now - 1, to: DateTime.now), 7 close_time: Faker::Time.between(from: DateTime.now - 1, to: DateTime.now), 8 shoe_washing: %w(true false).sample, 9 futon_washing: %w(true false).sample, 10 dryer: %w(true false).sample, 11 washing_machine: %w(true false).sample, 12 ) 13 laundry.image.attach(io: File.open('app/assets/images/image.jpg'), filename: 'test_image.jpg') 14 laundry.save 15end

以下show.html.erbの記述です

<%= image_tag @laundry.image, class: 'store-image' %>

コントローラーは以下のように記述をしています。

before_action :set_laundry, only: [:show, :edit, :update]  (略) def set_laundry @laundry = Laundry.find(params[:id]) end

試したこと

config/environments/production.rb 内でconfig.assets.compile = trueにし、 rake assets:precompile RAILS_ENV=productionコマンドを実行することでアセットパイプラインを通すことができるとのことでしたのこちらを実行しましたが特に変化はありませんでした。

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

ruby '2.6.5'
rails '6.0.3'
DBはローカルも本番環境もmysqlを使用しています。

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

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

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

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

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

guest

回答1

0

image_tagの引数に.urlをつけてみてはどうでしょう?

投稿2020/10/11 01:45

kokitail

総合スコア135

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

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

退会済みユーザー

退会済みユーザー

2020/10/11 02:13

回答いただきありがとうございます。 <%= image_tag @laundry.image.url, (略) %>としローカルで起動してみたところNoMethodErrorで帰ってきてしまいました..
退会済みユーザー

退会済みユーザー

2020/10/14 05:54

画像の保存先をS3にすることで解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問