2

いくつかの画像にリンクする js ファイルがありますが、それを機能させることができません。

私はこのようなjs拡張機能を試しました...

case 0: var padImg = 'hs.png'; break;
case 0: var padImg = '/assets/hs.png'; break;

ファイル拡張子を js.erb に変更して、これを試してみました...

case 0: var padImg = '<%= asset_path 'hs.png' %>'; break;

次に、画像をjsフォルダーに移動し、最終的にこのように機能しました...

case 0: var padImg = 'hs.png'; break;

奇妙なことに、私の開発環境では機能しますが、本番環境では機能しません。なぜ、どうすれば修正できますか?

4

1 に答える 1

2

この構文は正しくありません

case 0: var padImg = '<%= asset_path 'hs.png' %>'; break;

JavaScript エラーが発生するはずです。

試す

case 0: var padImg = "<%= asset_path 'hs.png' %>"; break;

通常、JavaScript/CoffeeScript と ERB の場合、次のように画像を参照します。

$('#logo').attr({
  src: "<%= asset_path('logo.png') %>"
});

http://guides.rubyonrails.org/asset_pipeline.html

そうでない場合、開発とは異なる場合、そこで使用している本番サーバーの OS と Web サーバーは何ですか?

アセット パイプラインの失敗はこれだけですか?

編集

Apache\JBoss が CSS で画像を参照するには、path\war 名を追加する必要がありました

したがって、アプリのルートが localhost:3000/MyApp の場合、画像を参照するには、私がしなければならなかったurl(/MyApp/images/hs.png)

js.erb がある場合は、上記のように実行でき、css.erb を使用すると実行できますurl(<%= asset_path 'hs.png' %>)

于 2012-05-31T00:57:08.847 に答える