🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 6

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

Q&A

解決済

1回答

2915閲覧

画像出力がimage_pack_tagだと成功して、asset_pack_pathだとcan't findになります

pecchan

総合スコア591

Ruby on Rails 6

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

0グッド

0クリップ

投稿2021/01/10 07:06

ruby on rails6 勉強中の者です。
初めてwebpackを使って画像出力してます。

表題の通りなのですが、image_pack_tag だと画像出力できて

ruby

1<%= image_pack_tag 'logo-l.png' %>

asset_pack_path を使うとcan't findエラーになりました。

ruby

1<img src="<%= asset_pack_path 'images/logo-l.png' %>">

エラーメッセージ

Webpacker can't find images/logo-l.png in /home/rails_user/gvgv/public/packs/manifest.json. Possible causes: 1. You want to set webpacker.yml value of compile to true for your environment unless you are using the `webpack -w` or the webpack-dev-server. 2. webpack has not yet re-run to reflect updates. 3. You have misconfigured Webpacker's config/webpacker.yml file. 4. Your webpack configuration is not creating a manifest. Your manifest contains: { "application.js": "/packs/js/application-76a7dbf5cfa2b77f1007.js", "application.js.map": "/packs/js/application-76a7dbf5cfa2b77f1007.js.map", "entrypoints": { "application": { "js": [ "/packs/js/application-76a7dbf5cfa2b77f1007.js" ], "js.map": [ "/packs/js/application-76a7dbf5cfa2b77f1007.js.map" ] } }, "media/images/logo-l.png": "/packs/media/images/logo-l-0f48e9f6da7fbeea13e97e79b50cd6d9.png", "media/images/logo-o.png": "/packs/media/images/logo-o-1195f84ec7de031be34e90f915d9f992.png", "media/images/logo-s.png": "/packs/media/images/logo-s-9f7a9c15eda1006f30f497cb942eba38.png" }

###前提
画像ファイルは以下に置いてます。
app\javascript\images\logo-l.png

該当のソース
\app\views\layouts_header.html.erb

ruby

1<header class="header header-bgcolor"> 2 <%= image_pack_tag 'logo-l.png' %><!-- こちらはOK --> 3 <img src="<%= asset_pack_path 'images/logo-l.png' %>" ><!-- こちらはNG --> 4</header>

\app\javascript\packs\application.js

javascript

1const images = require.context('../images', true)

###試したこと

ruby

1asset_pack_path '/imaegs/logo-l.png' 23asset_pack_path 'logo-l.png' 4などパス指定部分を変えてみましたが同じでした。

次にエラーメッセージに従い、
rails webpacker:installして、rails webpacker:compile
やり直してみましたが一緒でした。

また「webpacker.yml」はデフォルトのまま何も編集してません。

先輩方教えていただけないでしょうか?
宜しくお願いします。

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

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

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

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

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

guest

回答1

0

自己解決

asset_pack_path 'media/imaegs/logo-l.png'

でいけました。

投稿2021/01/11 01:43

pecchan

総合スコア591

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問