我在 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
在生产中设置,但我不想这样做(因为性能原因)。
有谁知道,为什么我的 Rails 应用程序无法解决生产中资产的正确路径?谢谢!
更新:也许知道也很有用:它不仅适用于图像,也适用于其他资产。
例如,当 config.assets.compile 设置为 false 时<%= stylesheet_link_tag "screen", :media => "all" %>
也会产生错误。screen.css isn't precompiled