2011-08-08 14 views
2

Herokuで配信されていない静的資産(画像とjsおよびスタイルシート)に問題があります。 私のローカルdev envで正常に動作します。Heroku/Thinで静的資産が配信されない

エラーは、次のようになります。

2011-08-08T02:58:45+00:00 app[web.1]: Started GET "/stylesheets/reset.css" for 98.234.235.21 at 2011-08-07 19:58:45 -0700 
2011-08-08T02:58:45+00:00 app[web.1]: 
2011-08-08T02:58:45+00:00 app[web.1]: ActionController::RoutingError (No route matches "/stylesheets/reset.css"): 

私が使用しています:

  • ルビー1.9.2
  • 竹-MRI-1.9.2とRailsの3.0.7
  • Herokuのをと薄いウェブサーバー。私はGoogleの/ stackoverflowの上で検索し、運で次のことを試してみた

(私はheroku.comの基本的な設定手順をデフォルトに続く):

  • 削除config.ru
  • use ActionDispatch::Static, "#{Rails.root}/public"を追加config.ru
  • は、誰でも修正を提案することができますstaging.rbに

config.serve_static_assets = trueを設定しますか?私はBambooの代わりにCedarを使うべきですか?私は薄い代わりに何か他のものを使っているべきですか?

ありがとうございます!


EDIT: JSファイルが提供されているが、画像やスタイルシートがありません。 リンクのパスが一貫していることを確認しました。 config.action_dispatch.x_sendfile_header = nil

myapp.heroku.com/stylesheets/reset.css - - myapp.heroku.com/javascripts/jquery.jsを失敗したが、私はまた、次のように設定しようとし

を成功します。 これはconfig.serve_static_assets = trueと同じですが、Herokuは設定方法にかかわらずこれらのオプションを強制していることに気付きました。すなわちそれは、起動時に次の処理を行います。

-----> Detected Rails is not set to serve static_assets 
     Installing rails3_serve_static_assets... done 
-----> Configure Rails 3 to disable x-sendfile 
     Installing rails3_disable_x_sendfile... done 

答えて

3

問題は、アセットファイルがherokuにプッシュされなかったことが判明しました(私はヒロク問題ではなくgit screwupを持っていました)。

ヘロウクのサポートは、私がそれらに連絡したときにこれを指摘しました。彼らは速やかにも以下のコメントを含め詳細な回答、と答えた:

  • Herokuの宝石は、Herokuの上で実行する必要はありません
  • GemfileでPostgresの宝石を指定します。 sqlite3の代わりにpostgresをローカルで開発用に使用する
  • config。RU:これは正しくRailsの3(これはRailsの3.1の設定です)
0

私はHerokuのはstaging環境で実行されていることを確信していないよ、私はそれが代わりにproduction環境で稼働していると思うし、あなたの設定が適用されていない理由です。

+0

ライアンでサポートされていないとnilに設定x_sendfile_headerいけないアプリコンテナ

  • を実行し、直接ディスパッチャを実行しないでください、私はそれを構成しステージングを実行し、変更が適用されていることを確認します: 'heroku config --remote staging'は' RACK_ENV =>ステージング 'と' RAILS_ENV =>ステージング ' – stupakov

  • 関連する問題