如何从资产管道中获取资产版本字符串

How to get asset version string from the asset pipeline

我正在向 rails 项目添加一个非常简单的缓存脚本 (JavaScript),并且需要获取 rails 资产版本号才能使两者正常工作很好地在一起。但是我无法找到如何获取要使用的版本控制字符串。

我需要用 rails 中的相关版本字符串更新下面的两个字符串(在 JS 文件中)。我怎样才能得到这些信息。

var urlsToCache = [
    '/css/main.css',
    '/javascript/application.js'
];

我知道我可能需要将版本字符串导出为 JSON,从我的 JavaScript 文件中的 JSON 构建数组。

感谢任何帮助或正确方向的建议。

谢谢

我会从服务器 json 中传递它。

要实际获取指纹,您可以对资产调用 digest_path 以获取其 MD5 总和附加值。请参阅 this SO answer,以下片段摘自:

[1] pry(main)> Rails.application.assets.find_asset('application.js').digest_path
=> "application-ab07585c8c7b5329878b1c51ed68831e.js"