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