問題タブ [rails-sprockets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Sprockets::Rails::Helper::AssetNotFound - アセット "my_logo.jpeg" がアセット パイプラインに存在しません
このエラーを受け取りましたが、何が欠けていますか?
新しい Ruby on Rails アプリケーションを作成します
rails new my_app
# Rails 6.0.3.2gems、web packer などをインストールできるようにします。
config.assets.compile = false
に追加config/environments/development.rb
この内容で静的コントローラとインデックス ファイルを追加します
app/controllers/ static_controller.rb
アプリ/ビュー/静的/index.html.erb
my_logo.jpeg ファイルを
app/assets/images/
アセットをプリコンパイルします。
bundle exec rake assets:precompile
Rails サーバーを次のように実行します。
bundle exec rails server
public/assets/
ファイルが次の名前であることがわかります。my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg
これをtrueに設定すると、画像がうまく表示されます。config.assets.compile = true
からのマニフェストファイルの内容もpublic/assets/.sprockets-manifest-a7f9f10978778e828273bf0c790645f6.json
config.assets.unknown_asset_fallback = true
また、パスが何であるかを確認するためにオンにしましたが、それは次のようになります:http://localhost:3000/images/my_logo.jpg
そして、それが false の場合 (機能する場合)、次のパスを取得します:http://localhost:3000/assets/my_logo-484af9fb82bc8a0279ef38b527402b5697475bd8f827251f46fbb182be6c07a1.jpg