11

Rails アプリケーション (Rails 4.0.0.rc2、ruby 2.0.0p195) に問題があります。

私のローカルホストは背景画像を正しく表示しますが、Heroku は表示しません。

heroku ログに次のエラーが表示されます。

ActionController::RoutingError (No route matches [GET] "/assets/piano.jpg"):

custom.css.scss に次のコードを挿入して、背景画像を作成しました。

.full { 
  background: image-url("piano.jpg") no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

そして、静的ページにある次のコードでこれをトリガーしています。

<body class="full">
....
</body>

私はすでに運用中の宝石を持っています:

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

production.rb で、次の設定を true に設定しました。

config.serve_static_assets = true

ただし、画像は表示されません。あなたは私を助けることができます?

4

5 に答える 5

12

私は自分で問題の解決策を見つけました:

RAILS_ENV=production bundle exec rake assets:precompile

コンソールでこのコマンドを実行した後、画像が正しく表示されました。

以前は、実行しようとしただけでした:

rake assets:precompile

それだけでは役に立ちませんでした。コマンドで本番環境に対処する必要があります。

他のユーザーの参考になれば幸いです。

于 2013-10-05T21:16:46.463 に答える
4

私のために働くには、他の答えの組み合わせが必要でした。

アレックスが言及したように、@ Brock90 のプロダクション構成設定を使用し、アセットをプリコンパイルする必要がありました。

于 2015-01-20T02:56:50.123 に答える