Rails (3.2.7) でのアセットの事前コンパイルに問題があります。
次のようなファビコンを含めています。
<link rel="icon" type="image/png" href="<%= image_path("favicon.png") %>" />
開発モードで設定しconfig.assets.compile = true
ました。レンダリングされた HTML は次のようになります。
<link rel="icon" type="image/png" href="/assets/favicon.png" />
しかし、私が設定した本番環境ではconfig.assets.compile = false
、エラーが発生します
Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#index
...
favicon.png isn't precompiled
私はすでに実行rake assets:precompile
しており、アセットが で利用可能であることを明確に確認できますpublic/assets/favicon.png
。
本番環境に設定できることはわかっconfig.assets.compile = true
ていますが、(パフォーマンス上の理由から) そうしたくありません。
私のレールアプリが本番環境のアセットへの正しいパスを解決できないのはなぜですか? ありがとう!
更新: 知っておくと便利かもしれません: 画像だけでなく、他のアセットでも発生します。
たとえば、config.assets.compile が false に設定されている場合に<%= stylesheet_link_tag "screen", :media => "all" %>
もエラーが発生します。screen.css isn't precompiled