この問題の原因を突き止めることはできません。任意のアイデアや提案を大いに感謝します。Rails 3.1アセットヘルパーが古いCSSとjavascriptのパスを生成する
私はRails 3.1に移行しており、すべてが開発中です。しかし、プロダクションデプロイメントをテストすると、資産が全く得られません。通常の理由ではありません。
ベスト私は、私のレイアウトにメインのjavascriptインクルードラインがどのように見えるかを示します。
HAMLのこのライン:開発中
= javascript_include_tag 'application'
は私が手:
は<script src="/assets/application.js" type="text/javascript"></script>
生産では、同じ行は次のようになります。本番では
<script src="/javascripts/all.js?1320673090" type="text/javascript"></script>
インクルードには、ヘルパーはまだです私は3.0のように行動する。資産はうまくコンパイルされます。彼らはpublic/assetsフォルダ(マニフェストと同様)にあり、ブラウザが正しいURLを指していればnginxはそれらをうまく提供します。
bundle exec rails -vでサーバーのRailsバージョンを確認しました。私は3.1.3のバージョンを取得します。また、サーバー上の資産をコンパイルすると、正常に動作することが示されます。私の本番環境は以下の資産に関連する行が含まれています。
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
config.assets.precompile << /(^[^_]|\/[^_])[^\/]*/ # from https://gist.github.com/1184843
私はいくつかの宝石がヘルパーをオーバーライドするだけの生産でそれをやっている可能性が推測していますか?
繰り返し:ここで正しい方向に向かうどんな動きも素晴らしいでしょう。前もって感謝します。
実稼働環境で正しいレールバージョンが使用されていますか?あなたの設定を知らなければ、それは助けが難しいです。あなたは乗客とnginxまたはapacheを実行していますか?もしそうなら、それをアップグレードしましたか? – Thilo
レールのバージョンなどに関する上記の情報を追加しました。 –
しかし、私は資産がnginxから提供されていることを忘れていました。これは、レールガイドサイトにあるconfig snippetを使っています。そして私がブラウザを向けると、彼らは大丈夫になります。 –