如何使用JQuery更改image_tag助手的源?

3

我正在使用Rails的Image_tag帮助程序和资源管道,如下:

<%= image_tag "win_jorge_start_0.jpg", :id => "image0" %>

我正在尝试使用JQuery更改image_tag的源代码,如下所示:
$('#image0').attr( "src" , "win_jorge_complete_0.jpg" );

图片的src已如预期更改:
<img alt="Win jorge start 0" src="win_jorge_complete_0.jpg" id="image0">

但是当使用Image_tag助手时,源路径并没有按原样完整。
<img alt="Win jorge start 0" src="/assets/win_jorge_start_0-51b6339e1e0a021aa878ee8b54cb957a.jpg" id="image0">

有没有一种方法可以做到这一点?

也许可以更改父容器的HTML,将图像标签作为HTML内容包含在其中? - mplungjan
这不是一个选项,因为我仍然想使用image_tag助手。将image_tag更改为普通的html img标记并提供完整的图像路径肯定会起作用,但我想保留image_tag助手。 - jortizromo
1个回答

3
在JavaScript中使用以下代码:
$('#image0').attr( "src" , "<%= image_path "win_jorge_start_0.jpg", :id => "image0" %>" );

also see: AssetUrlHelper#image_path


2
你的答案很完美,我只需要将javascript文件的扩展名从"abc.js"改成"abc.js.erb",以便在.js文件中允许使用Rails路径助手,就像这里回答的那样:https://dev59.com/NGEh5IYBdhLWcg3wyF88#22029184 - jortizromo
嗯,我不是Rails程序员。 :-D 我读了一些文档,只是运气好。;-) 很高兴它有帮助。 - yaser eftekhari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接