Rails 3.1.x - image_tag不在生产模式下使用预编译文件

Uni*_*ech 9 ruby-on-rails ruby-on-rails-3

在我看来,我说:

<%= image_tag("coin.png") %>
Run Code Online (Sandbox Code Playgroud)

我的原始图片是:

app/assets/images/coin.png
Run Code Online (Sandbox Code Playgroud)

但在生产模式下,image_tag生成的html代码为:

<img alt="Coin" src="/assets/coin.png">
Run Code Online (Sandbox Code Playgroud)

而不是命中预编译资产:

coin-aba0e66819d64251cb3bb4bb29b26eb2.png
Run Code Online (Sandbox Code Playgroud)

(当然我无法看到图像).

我没有忘记预编译我的资产.

和我的环境/ 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"   
Run Code Online (Sandbox Code Playgroud)

非常感谢你

Uni*_*ech 11

我找到了 !!!!!!!

添加到您的production.rb:

config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)

  • 你摇滚.我有一个rc.5安装,这是在没有新选项的情况下工作. (3认同)