0

こんにちは、JavaScript ファイルの 1 つに次の html があります。

function addToInfoWindow(infoWindowContent)  
{  
    infoWindowString = '<div id="infoWindowString">'+  
    '<img src="assets/images/rails.png">'+  
    '<h2>You Clicked:</h2>'+  
    '<p>'+infoWindowContent+'</p>'+  
    '<p><a href="http://www.google.com">See more info</a></p>'+  
    '<p><a href="http://www.cnn.com">see news</a></p>'+  
    '</div>';  
    infoWindow.setContent(infoWindowString);  
} 

問題は、情報ウィンドウに画像を表示できないことです。

これは、Rails が Web ページに画像を表示するための何らかのヘルパー関数を備えているためである可能性があると認識しています。しかし、私はそれを呼び出す方法やそれが何であるかを見つけることができませんでした. 誰か助けてください。

編集-以下の応答の後に次のように変更されました:

function addToInfoWindow(infoWindowContent)  
{  
    infoWindowString = '<div class="infoWindowString">'+  
    '<img src="/Users/AM/Documents/RailsWS/cmdLineWS/Businesses/app/assets/images/rails.png">'+  
    '<h2>You Clicked:</h2>'+  
    '<p>'+infoWindowContent+'</p>'+  
    '<p><a href="http://www.google.ca">See Menus</a></p>'+  
    '<p><a href="http://www.google.ca">Upload a Menu</a></p>'+  
    '</div>';  
    infoWindow.setContent(infoWindowString);  
}

しかし、画像はまだ表示されません:(

4

2 に答える 2

1

Rails アセット パッケージでデフォルト設定を使用している場合、アセット ファイル名にタイムスタンプが追加されます/assets/images/foo.jpg

画像タグを取得するための Rails ヘルパーは、image_tag 'example.jpg'. または、単に URL が必要な場合は、image_url 'foo.jpg'.

保存したい特定の画像について、データ属性に添付できます。たとえば、ビューで次のことができます。

<a id="image_link" href="#" data-image-url="<%= image_url 'foo.jpg' %>">Click to see image</a>

を使用して、jQuery の任意の場所でそのパスを取得できます。

var imageUrl = $('a#image_link').data('image-url')
于 2012-04-20T23:34:38.790 に答える
1

画像 ( ) に相対 URL を使用しているassets/images/rails.pngため、ブラウザは現在のページに関連するアドレスから画像を読み込もうとします。たとえば、画像が

http://example.com/assets/images/rails.png

しかし、あなたは現在

http://example.com/something/somepage.html

ブラウザはそれをロードしようとします

http://example.com/something/assets/images/rails.png

そしてそれは失敗します。

絶対 URL を使用する必要があります。

于 2012-04-20T23:14:26.470 に答える