Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-rails中的图像标记_Javascript_Ruby On Rails_Ruby_Asset Pipeline - Fatal编程技术网

javascript-rails中的图像标记

javascript-rails中的图像标记,javascript,ruby-on-rails,ruby,asset-pipeline,Javascript,Ruby On Rails,Ruby,Asset Pipeline,我在rails应用程序的视图中有一行javascript: <script> $(this).find("img").attr("src", "/assets/img5.png"); </script> $(this.find(“img”).attr(“src”,“assets/img5.png”); 我有硬编码的图像路径,你可以看到。这在本地运行良好,但在生产中运行不好,因为我通过cdn为资产提供服务 如何在不弄乱javascript的情况下包含图像标记?我

我在rails应用程序的视图中有一行javascript:

<script>

$(this).find("img").attr("src", "/assets/img5.png"); 

</script>

$(this.find(“img”).attr(“src”,“assets/img5.png”);
我有硬编码的图像路径,你可以看到。这在本地运行良好,但在生产中运行不好,因为我通过cdn为资产提供服务


如何在不弄乱javascript的情况下包含图像标记?

我会像这样使用soemthing

jQuery('img[src*="signup_arrow.png"]')
在不改变当前代码的情况下。这里
src*
表示“signup\u arrow.png”可以是图像src的子字符串


通常,CDN URL将使用选择器查找给定的图像名称,作为子字符串的帮助。

经过一段时间的研究,我发现了一些有效的方法:

<script>

$(this).find("img").attr("src", '<%= asset_path 'img5.png' %>'); 

</script>

$(this.find(“img”).attr(“src”),'';

看起来资产路径完成了任务。

CDN上资产的路径是什么?我想完全避免硬编码。是的,但答案取决于CDN路径的结构。哦,对不起!cdn.example.com/assetscan您可以粘贴错误响应和您尝试的代码,这有助于调试是的,看起来很有效。asset_path的主机来自配置文件,该文件会自动附加cdn path.Yup!工作起来很有魅力!:)