2011-12-06 12 views
2

この問題の原因を突き止めることはできません。任意のアイデアや提案を大いに感謝します。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 

私はいくつかの宝石がヘルパーをオーバーライドするだけの生産でそれをやっている可能性が推測していますか?

繰り返し:ここで正しい方向に向かうどんな動きも素晴らしいでしょう。前もって感謝します。

+0

実稼働環境で正しいレールバージョンが使用されていますか?あなたの設定を知らなければ、それは助けが難しいです。あなたは乗客とnginxまたはapacheを実行していますか?もしそうなら、それをアップグレードしましたか? – Thilo

+0

レールのバージョンなどに関する上記の情報を追加しました。 –

+0

しかし、私は資産がnginxから提供されていることを忘れていました。これは、レールガイドサイトにあるconfig snippetを使っています。そして私がブラウザを向けると、彼らは大丈夫になります。 –

答えて

1

問題1:私はしばらくの間、毎回Runitによって噛み付いています。今日はそんな日でした。 config/application.rbに古いコンパスの修正を参照する際に問題がありました。 Runitは、新しいアプリケーションに "hup"しようとすると古いアプリケーションを実行し続けました。

メンターノート:疑問がある場合は常にレールcの生産を実行してください。

この後、アセットのパスは3.0スタイルではなくほとんどです。彼らは今/stylesheets/application.cssと同様です...アセットディレクトリの言及はありません。

問題2:application.rbにスプロケットが必要です(レール/すべてを必要としない場合)。なぜすべてが開発で働いていたのか、生産時にコンパイルするとき、私は言うことができません。しかし、スプロケットレールを必要とするラインを追加することは、この問題を私のために解決しました。パスだけが間違っていて、他のすべてがうまくいったので、必要がなくなる可能性があるということは決してありませんでした。野生の推測:開発中のローカルアセットサーバには、主アプリがそれを見逃していることを隠すスプロケットが必要なのかもしれません。

時間をいただきありがとうございます。あなたのためにそれを無駄にして申し訳ありません。

+0

ヒント:設定ファイルの設定がアセットパイプラインガイドの最後のセクションの設定と一致することを確認してください。 –

+1

これはapplication.rbに欠けていた問題でした:** require "sprockets/railtie" ** –

+0

同じ問題がここにあります。私はこの答えを見つけてうれしい。 thx :) – rubiii

関連する問題