Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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
Ruby on rails Rails.application.assets.find_assets(文件).digest_路径不';我不能在生产中工作_Ruby On Rails_Asset Pipeline - Fatal编程技术网

Ruby on rails Rails.application.assets.find_assets(文件).digest_路径不';我不能在生产中工作

Ruby on rails Rails.application.assets.find_assets(文件).digest_路径不';我不能在生产中工作,ruby-on-rails,asset-pipeline,Ruby On Rails,Asset Pipeline,我需要通过一个JS文件迭代多个图像,因此我向服务器发出一个http请求,以将文件名与其客户端指纹等价物相匹配。我通过Rails.application.assets.find\u asset(file.digest\u path)传递原始文件来获取指纹文件 例如,在rails控制台中: Rails.application.assets.find_asset("scene1.jpg").digest_path 返回 "scene1-b691b411ad644bcf2c84ef9e30f52db9

我需要通过一个JS文件迭代多个图像,因此我向服务器发出一个http请求,以将文件名与其客户端指纹等价物相匹配。我通过
Rails.application.assets.find\u asset(file.digest\u path)传递原始文件来获取指纹文件

例如,在rails控制台中:

Rails.application.assets.find_asset("scene1.jpg").digest_path
返回

"scene1-b691b411ad644bcf2c84ef9e30f52db9ffdf57c18fadf99872dff3ebb81fa548.jpg"

但是,当我在本地服务器上运行时,输出只是
nil

使用Rails资源管道,可以使用其资源引用资源。在这种情况下,您可以通过向文件添加
.erb
扩展名,在脚本中使用embedded ruby(),例如

var logo = <%= asset_path('logo.png') %>;
var标志=;
当编译此脚本时,ruby代码将生成对当前摘要的资产的引用。摘要路径是一个“”,并且将随着资产本身的更改而更改

要了解有关资产管道的更多信息,请查看和