如何从rails应用程序中的assets/images文件夹中获取图像

ban*_*ing 10 javascript ruby ruby-on-rails infowindow

我一直在寻找并寻找这个答案.但是现在几个小时我似乎无法完成这项工作.请帮帮我.

我是我的rails应用程序的网页,我正在尝试显示保存在我的资源文件夹中的图像 @app/assets/images/rails.png.

我有一个javascript文件,其中包含构造html的以下函数.在这个函数里面,我想把链接传递给图像.这是我目前的代码.

function addToInfoWindow(infoWindowContent)
{

infoWindowString = '<div class="infoWindow">'+
**'<img src="/assets/images/rails.png" />'+**
'<p>'+infoWindowContent+'</p>'+
'<p><a href="http://www.google.com">See here</a></p>'+
'<p><a href="http://www.google.com">Upload a photo</a></p>'+
'</div>';
infoWindow.setContent(infoWindowString);

}
Run Code Online (Sandbox Code Playgroud)

正如您在代码中看到的那样,粗体部分就是问题所在.我已经尝试了几种不同的url字符串组合来访问该图像文件,但图像没有显示在html元素中.

我看了看,尝试过rails帮助函数等image_url('rails.png').但我必须把它们放在错误的地方.有人可以帮帮我吗.请告诉我上面的代码中我需要添加什么函数来获取图像,/assets/images/rails.png以便将它的url放在上面突出显示的部分中,并在我的视图中显示.

klu*_*ump 23

如果你想使用rails helper,你需要将你的javascript文件"升级"为erb.

只需将它们重命名whatever.jswhatever.js.erb.现在rails将在传递文件之前执行所有erb代码(<%=和%>之间的东西).

所以你可以这样做:

<img src="<%= asset_path( 'rails.png' ) %>" />
Run Code Online (Sandbox Code Playgroud)

更多信息,请参见2.2.3.