我正在尝试将我的 rails 应用程序部署到生产服务器 - Ubuntu / Apache 2.2 / Passenger。我在让资产管道正常工作时遇到了很大的问题。
应用程序生成的链接
<img alt="Icon_twitter" src="/assets/icon_twitter-d7c26009c533fda2272d24ebd9e1d008.png" />
与预编译创建的不匹配。如果我 ssh 进入服务器并运行生产 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