我正在尝试将我的rails应用程序部署到生产服务器--Ubuntu / Apache 2.2 / Passenger。我在使资产管道工作时遇到了很大问题。
应用生成的链接
<img alt="Icon_twitter" src="/assets/icon_twitter-d7c26009c533fda2272d24ebd9e1d008.png" />
与预编译创建的不匹配。
如果我进入服务器并运行生产rails控制台(RAILS_ENV=production rails
c
),那么
foo = ActionView::Base.new
foo.image_tag('icon_twitter.png')
给出正确的src url /assets/icon_twitter-98c828459b123bb84cf09f0070d95757.png, 我也可以通过浏览器访问 http://www.ip-to-server.com/assets/icon_twitter-98c828459b123bb84cf09f0070d95757.png, 所以基本的apache配置应该是正确的。
出了什么问题?我在哪里可以找到有关这些指纹不匹配的原因的帮助?
我在Ruby 1.8.7上使用Rails 3.2.5。我的RAILS_ENV=production rails c
后面的配置来自config = Rails.configuration
:
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.compile: false
config.assets.digest: true