想知道如何克服这个问题。在我的 Rails 应用程序的主页上,我有一个图像滑块:
<div id = "carousel">
<img id ="rotate_images" src="assets/1.1.png"/>
<div id = "back">
<img src = "assets/arrow_back.png">
</div>
<div id = "forward">
<img src = "assets/arrow_forward.png"></div>
</div>
图像正确显示。然后,在同一个应用程序的另一个页面上,当我粘贴相同的代码时,图像没有显示出来。在控制台中我得到:
GET http://localhost:3000/users/assets/1.1.png 404 (Not Found)
我相信您知道,资产文件夹不在“用户”中,而是在“应用”文件夹中。我认为制作像 src ="../assets/..etc" 这样的链接会做到这一点,但不是那么幸运。我会使用 Rails 代码,例如:
<%= image_tag("arrow_forward.png") %>
但这只会让人头疼,因为我正在使用与我的 img src 属性匹配的 jQuery 代码。如果有任何用处,这里是 jQuery 代码。如果可以修改它以与 Rails image_tag 方式挂钩,那就太好了,但我真的很好奇为什么没有正确找到资产文件夹。谢谢你的帮助。
<script>
$('#back').on({
'click': function () {
var origsrc = $(rotate_images).attr('src');
var src = '';
if (origsrc == 'assets/3.1.png') src = 'assets/2.1.png';
if (origsrc == 'assets/2.1.png') src = 'assets/1.1.png';
if (origsrc == 'assets/1.1.png') src = 'assets/1.1.png';
$(rotate_images).attr('src', src);
}
});
$('#forward').on({
'click': function () {
var origsrc = $(rotate_images).attr('src');
var src = '';
if (origsrc == 'assets/1.1.png') src = 'assets/2.1.png';
if (origsrc == 'assets/2.1.png') src = 'assets/3.1.png';
if (origsrc == 'assets/3.1.png') src = 'assets/3.1.png';
$(rotate_images).attr('src', src);
}
});
</script>