在我看来,我说:
<%= image_tag("coin.png") %>
我的原始图片是:
app/assets/images/coin.png
但在生产模式下,image_tag生成的html代码为:
<img alt="Coin" src="/assets/coin.png">
而不是命中预编译资产:
coin-aba0e66819d64251cb3bb4bb29b26eb2.png
(当然我无法看到图像)。
我没有忘记预编译我的资产。
和我的环境/ production.rb是:
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.action_dispatch.x_sendfile_header = "X-Accel-Redirect"
非常感谢你
我找到了 !!!!!!!
添加到您的production.rb:
config.assets.digest = true
如此railscast的最新部分所述,Rails 3.1将不再使用?hash
cache expiring 。 它将在文件名本身中使用哈希作为资产。 不知道图像是否相同(尚未使用3.1),但它可能是你的问题。