Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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 如何使用Ruby';JS中的s asset_url(JS中的Ruby插值??)_Javascript_Ruby On Rails_Asset Pipeline - Fatal编程技术网

Javascript 如何使用Ruby';JS中的s asset_url(JS中的Ruby插值??)

Javascript 如何使用Ruby';JS中的s asset_url(JS中的Ruby插值??),javascript,ruby-on-rails,asset-pipeline,Javascript,Ruby On Rails,Asset Pipeline,好的,我有一个JS函数来更改图像源,但是我需要根据Ruby的资产管道对图像源进行指纹识别。换言之,我需要遵循以下准则: // JS code changeImage("assets/How-to/" + step_to_remove + ".gif"); 指纹识别通常由 # Ruby code asset_path "How-to/#{step_to_remove}.gif" 我现在的权宜之计是手动删除指纹,但我知道还有更好的方法。您可以使用.js.erb作为erb首先评估脚本: //app

好的,我有一个JS函数来更改图像源,但是我需要根据Ruby的资产管道对图像源进行指纹识别。换言之,我需要遵循以下准则:

// JS code
changeImage("assets/How-to/" + step_to_remove + ".gif");
指纹识别通常由

# Ruby code
asset_path "How-to/#{step_to_remove}.gif"

我现在的权宜之计是手动删除指纹,但我知道还有更好的方法。

您可以使用
.js.erb
作为erb首先评估脚本:

//app/assets/javascripts/my_script.js.erb
更改图像(“”);

不是
更改图像(“”)够了吗?我不能让它工作。以下是错误:
加载资源失败:服务器响应状态为404(未找到)http://localhost:3000/How-to/step_to_remove.gif
请记住,step_to_remove是一个JS变量,.JS.erb也不会工作,因为这是一个非常小的片段,我只是将其包含在视图中file@james那有什么问题吗?当然,您可以在视图中使用
。很抱歉,我不确定我是否沟通不好。我将@Vucko的建议放在
标签中,以供查看。它得到了我在上面评论中的错误。出现错误是因为当
asset\u路径
code工作时,我不知道如何插值变量step\u以删除。如中所示,图像应该是1.gif或2.gif,其中1/2是步骤_to _remove,一个JS变量。这有用吗?谢谢@meagar!