0

Rails 4 アプリを Heroku にデプロイしました。CSS および JS アセットは問題なく提供されますが、画像が見つかりません (404)。

を追加gem 'rails_12factor'してトグルしようとしましたconfig.serve_static_assets = trueが、役に立ちませんでした(rails_12factorとにかくあなたのためにそれをしませんか?)。

最も奇妙な部分は、私が最近デプロイした別の Rails 4 アプリとほとんど同じであり、アセットに問題がないことです。2 つのアプリには、(構成の観点から) いくつかの違いがあります。

  1. 壊れたものは Heroku の「warm-chamber」にデプロイされ、画像を提供するものは「serene-earth」にデプロイされます。

  2. 画像を提供していないものには、production.rb で Sendgrid の設定もいくつかあります。

    config.action_mailer.smtp_settings = {
    :address        => 'smtp.sendgrid.net',
    :port           => '587',
    :authentication => :plain,
    :user_name      => ENV['SENDGRID_USERNAME'],
    :password       => ENV['SENDGRID_PASSWORD'],
    :domain         => 'heroku.com'
    }
    config.action_mailer.delivery_method ||= :smtp
    

    それが意味のあるものにどのように影響するか想像できません。

  3. 壊れたものには newrelic のnewrelic_rpmgem がインストールされていますが、動作しているものにはインストールされていません。また、ENV 変数管理 gemfigaroと MailChimp のgibbongem を使用しますが、動作中のアプリにはありません。これがどのように影響するかはわかりませんが、あなたは私よりもよく知っています.

最終的な注意: カスタム CSS とイメージ ファイルをレポに追加した後の最初のデプロイでは、インストールしたにもかかわらず、この SO 投稿rails_12factorで説明されているのと同じ奇妙なエラーがいくつか表示されましたが、次のデプロイでは消えましたが、意味のある変更はありません (かなり奇妙に思えました):

    Running: rake assets:precompile
    I, [2013-10-05T04:25:02.831526 #626]  INFO -- : Writing /tmp/build_0eea2e50-5876-4521-b7f6-7ca902cb129b/public/assets/bg-c63ed011f04c5167903c6d603521adfb.jpg
    I, [2013-10-05T04:25:02.836773 #626]  INFO -- : Writing /tmp/build_0eea2e50-5876-4521-b7f6-7ca902cb129b/public/assets/coding_school-3bcbdaea6f8c23b774d27df4b608647a.jpg
    I, [2013-10-05T04:25:02.840352 #626]  INFO -- : Writing /tmp/build_0eea2e50-5876-4521-b7f6-7ca902cb129b/public/assets/down_arrow_select-0b10b4ac52a74389bbc3abbb3a8cde7a.jpg
    I, [2013-10-05T04:25:03.013966 #626]  INFO -- : Writing /tmp/build_0eea2e50-5876-4521-b7f6-7ca902cb129b/public/assets/application-0c6f0f27ac77563741a04576653d7c0e.css
    Asset precompilation completed (3.22s)

アプリが CSS と JS を適切に提供し、画像を提供しない原因は何ですか?

ほぼ同じ 2 つのアプリ間で異なるのはなぜですか?

4

2 に答える 2

4

設定config.assets.compile=trueすると問題はconfig/environments/production.rb解決しましたが、問題が発生した理由はまだよくわかりません。

于 2013-10-17T19:57:38.833 に答える
0

このシナリオをデバッグする方法:

ブラウザー (Chrome など) で本番アプリを開き、開発者ツールを開き、ページをリロードして、画像のリクエストを確認します。

  • 要求された URL は期待どおりのものですか (つまり、MD5 チェックサムが追加されていますか)? チェックサムがない場合:代わりに<img src='/images/image.png'></img>Rails を使用する必要があるときに、スタイルに画像を挿入した可能性があります。<%= image_tag('image.png')そのヘルパーのGoogle。
  • URL が想定どおりの場合: 画像リクエストのステータスとレスポンスは? の場合404は、ヘルパーでパスを正しく指定したことを確認してくださいimage_tag(パスがある場合は、先頭に何かを追加する必要はないかもしれません/images。答えが見つかるまで少し試してみてください。
于 2013-10-05T08:36:12.433 に答える