私は次のようなjavascriptファイルでいくつかの画像を使用するRubyonRailsアプリケーションを持っています:
var urlshapes = "/assets/shapes/";
// image loader
imageURLs.push(urlshapes + "isit.png");
imageURLs.push(urlshapes + "ec.png");
imageURLs.push(urlshapes + "bc.png");
imageURLs.push(urlshapes + "bb.png");
imageURLs.push(urlshapes + "io.png");
loadAllImages();
WEBrickサーバーを使用すると機能しますが、herokuサーバーにアップロードすると次のエラーが発生します。
このhttps://devcenter.heroku.com/articles/rails-4-asset-pipelineを読んだ結果、この行gem 'rails_12factor', group: :production
をGemファイルに追加しましたが、それでもエラーが発生します。
私は何をすべきか?
Railsバージョン:4.1.5 Rubyバージョン:2.1.2
アセットパイプラインを使用しているようです。これは、アセットの開発と本番のパスが異なることを意味します。すべての環境で正しいパス/ URLを取得するには、イメージパスヘルパーを使用する必要があります。image_pathヘルパーはおそらくあなたが必要とするものです。問題は、これがRubyメソッドであり、Javascriptコードで呼び出したいことです。2つの解決策があります:
imageURLs.push("<%= image_path('isit.png') %>")
<script>
タグを追加することができます。例えば: <div data-images="['<%= image_path('1.png') %>', '<%= image_path('2.png') ']">
など <%= javascript_tag("images = ['#{image_path("1.png")}']") %>
など。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加